这是个上一篇的笔记 ,个人觉得最好的笔记是官网的,我只是做一个自己的notes
官网文档
Git版本控制
文章目录
- `这是个上一篇的笔记 ,个人觉得最好的笔记是官网的,我只是做一个自己的notes`
- Git版本控制
- GitHub相关单词
- 对Git版本控制的理解
- Git的思想和原理
- Git命令起步学习
- Git入门第一步
- 撤销
- 远程仓库
- Next
GitHub相关单词
对Git版本控制的理解
- 首先从同一个系统中的本地化版本控制开始演化,注意的是同一个系统中
RCS
- 不同系统之间的版本控制,
集中化的版本控制
,所有单独的系统都需要向中控服务器提供最新的版本数据,由中控服务器集中管理 CVCS
主要缺点:单点故障的出现 - 分布式版本控制 ,想到分布式,基本都有了解分布式的趋势
DVCS
Git的思想和原理
- 区别
- 对待数据方式
- 其他管理系统: 以文件变更列表的方式存储信息,比较初始文件和每个版本之间的差异
- Git系统: 给全部文件制作一个快照 (若文件没有更改,不做重复的存储)
- 不需要连接服务器,所有操作几乎都在本地执行 (网络正常时候再上传提交)
- 三种状态
- 已提交
committed
- 表示数据保存到本地
- 已修改
modified
- 文件有所变动,未保存到数据库
- 已暂存
staged
- 当前修改的文件版本出现在下一次的提交中 相当于是做了一个下次提交的标记
- 三种区域
- git仓库
- 比如在远程的GitHub仓库
- 工作目录
- 某个版本的内容,在磁盘上供自己使用
- 暂存区 (也称索引)
- 是一个文件,该文件在git仓库中,文件内容是下次将要提交的文件信息
- 工作流程
- 在本地磁盘操作文件
- 暂存文件,将提交的文件信息放入暂存区
- 提交数据,从暂存区中找到相应文件,把这个些文件存储到远程的git仓库
- 工作目录的文件
- 已跟踪
- 未修改
- 已修改
- 已暂存
- 未跟踪
Git命令起步学习
- 每个电脑只需要配置一次的用户信息
-
git config --global "primer"
-
git config --global user.email 2464113103@
注意: --global参数表示在该系统中所有操作都是用这个用户信息,否则你在每个项目中配置没有--global
参数的命令
- 配置文本编辑器 [比如在git用到文本编译器的commit -m命令中可以运用]
git config --global core.editor vim
- 查看配置信息
-
git config --list
- 查看某一项的配置信息
git config
- 查找命令帮助
-
git help git
Git入门第一步
- 获取仓库
- 从现有目录获取
git init
,git add之后才是真正的跟踪开始
- 这个的意思就是,跟踪当前的目录文件
- 从已有仓库获取
git clone ssh [项目的别名]
- ssh是远程仓库的一个地址,也可以是https地址,ssh和https是一些安全的传输协议
- 中括号表示可选参数,重新命名项目名称
- 查看文件状态
-
git status
- 简洁的查看文件状态
git status -s
- ?? 未跟踪
- A 已在暂存区
- 左边的M 被修改并放入暂存区
- 右边的M 被修改,未放入暂存区
- 取消暂存
-
git reset
- 跟踪文件或者把文件放入暂存区
-
git add filename/directory
- 忽略文件
-
.gitignore
- 正则表达式匹配规则
- 查看文件内容那些已经加入暂存区与否
-
git diff
查看暂存与未暂存的区别 -
git diff --staged
查看暂存区里面的差别 - 提交
-
git commit
打开默认或者指定的编译器 -
git commit -m str
指定一行提交信息 -
git commit -v
- 推送数据
- 推送了数据但是远程仓库没有显示提交的数据
解决: 先清空暂存区,再次尝试加入暂存区,然后提交就可以了
git reset
git commit -m
git push origin master
- [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LzmKS9T0-1581004424831)(C:\Users\Primer4\Documents\学习笔记\1581000349537.png)]
- 从本地仓库移除文件
-
git rm
从磁盘中删除文件 - 强制删除参数 -f ,删除的数据不能被恢复
- 磁盘保存文件,单纯把文件从暂存区移除
git rm --cached filename*
- 查看提交记录
-
git log
- 参数 -2 显示最近两次提交的记录
- 参数 -p 并显示提交的差异信息 [就是diff的输出]
- 参数 --pretty [丰富多样的格式化输出]
- 用法很多,需要时候查手册
git help log
撤销
- 修改 commit -m的消息
-
git commit --amend "new message"
- 撤销某个文件的暂存
-
git reset somefile or directory
- 撤销对文件之前的修改操作
-
git checkout filename
远程仓库
- 查看自己配置的远程仓库地址别名
-
git remote
- 添加一个远程仓库的别名
-
git remote add alias ssh
- 初学者看有些文章往往看到一个
origin
不知道这个是什么玩意,其实就是使用git clone
之后为ssh默认生成的远程仓库别名而已 - 远程分支合并到本地分支
-
git pull origin master
- 重命名远程分支
-
git remote rename b1 b2
- 远程分支删除
-
git remote rm b1
Next
面试备战出征之Git分布版本控制 (二)