安装配置
git安装
配置别名
创建Git仓库
git init
git clone
提交修改
git add&commit
git add
git commit
git log
git shortlog
追加修改
git commit –amend
当开发者提交了一个commit后,发现该commit有错,可以随时对这个commit进行修改,使用git commit –amend指令即可。通过这种方式可以修改commit,而不是通过新的commit来修正前一个错误的commit。 |
查看代码仓库状态
git status:查看仓库状态
git diff :查看文件发生具体变化
git diff HEAD
比较提交节点差异,同理,通过指定不同的HEAD,例如HEAD^,HEAD^^,上次commit节点、上上次commit节点。 |
追溯历史版本
git log
gitk
工作区与暂存区
Git回退
chechout&reset
git checkout:用来还原一个代码仓库中的文件
修改文件之后,执行git add指令之前,如果执行checkout指令则会抛弃当前本地的所有修改,恢复到上次最后的提交版本。 |
回退版本
git reset
操作历史
git reflog
Git文件操作
git rm
文件暂存(待补充)
远程仓库
分支管理
创建分支
git checkout -b dev:创建分支并切换分支
git branch dev
git checkout dev
查看分支
git branch:查看当前本地所有分支
在当前分支上会多一个*,用来表示当前所处的分支,通过指定-r参数可以列出所有远程分支,或者使用-a参数列举所有本地和远程分支 |
合并分支
git merge dev
开发者切换到dev分支后,对内容进行修改,接下来执行add和commit操作,此时开发者再切换到master分支,查看当前修改,你会发现dev分支上之前做的修改在master分支上都没有生效,因为这两个是不同的分支,它们之间是完全独立不受影响的,所以我们切换到master分支,然后Merge分支dev到master主分支中 |
Merge与Rebase
在合并分支时,还有一种Rebase操作,它与Merge操作所实现的功能基本是一样的,唯一的区别是,使用Rebase操作后Git时间线会被进行合并,而Nerge操作不会 |
删除分支
git branch -d dev
查看远程分支
git remote
git remote -v:查看详细信息
推送分支
git push orgin dev
分支的管理思想
Git虽然是一个无中央集权的版本控制系统,但在一般开发过程中通常还是会指定一台服务器作为Git版本中央库,同时使用分支对中央库进行版本控制 |
分支的设置
在Git中央服务器上(origin),都会有一个默认的主分支(master),而一般的开发不会直接在主分支上进行,主分支永远用于打Tag和发布release版本,保证发出去的版本一定是完善的、已验证过的,而且在团队中,也只有Leader以上级别的开发者才有权限将其他分支的代码Merge到主分支,因此开发时,最少会建立一个develop分支,所有的最新开发进展都同步到develop分支 |
功能分支
在开发过程中,项目经常有一些需要紧急完成的功能或者需要紧急修复的bug,针对这些打断正常开发流程的事情,同样可以利用分支来进行处理,这些分支称之为功能分支或辅助分支,这些分支的管理与develop分支的处理基本类似,但要注意的是,一旦完成修改应该立刻删除这些分支,保证代码库的干净 |
Git图解
Tag
参考
Android群英传神兵利器读书笔记——第二章:版本控制神器——Git