学习目的
- 如何查询分支列表?
- 如何创建分支?
- 如何切换分支?
- 如何将分支进行合并?
- 如何将分支进行删除?
master分支
每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支。截止到目前,只有一条时间线,在Git里,这个分支叫主分支,即master分支。HEAD严格来说不是指向提交,而是指向master,master才是指向提交的,所以,HEAD指向的就是当前分支。一开始的时候,master分支是一条线,Git用master指向最新的提交,再用HEAD指向master,就能确定当前分支,以及当前分支的提交点。
创建分支
创建分支git-study
1 | $ git branch git-study |
查看当前分支
1 | $ git branch |
切换分支到git-study
1 | $ git checkout git-study |
再次查看当前分支
1 | $ git branch |
有两次查看分支:得到结论git branch命令会列出所有分支,当前分支前面会标一个*号。
修改readme.txt文件查看状态
- 修改readme.txt文件查看状态
1
2
3
4
5
6
7
8
9$ git status
On branch git-study
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: readme.txt
no changes added to commit (use "git add" and/or "git commit -a")
可以看出在git-study分支,readme.txt文件被修改!
- 添加文件并提交文件
1 | 1. $ git add readme.txt |
- 切换回master分支
1 | $ git checkout master |
- 创建并切换分支的综合命令
1
2$ git checkout -b study
Switched to a new branch 'study'
合并分支
- 查看master分支readme.txt文件
1 | $ cat readme.txt |
- 合并master分支和git-study分支
1 | $ git merge git-study |
- git merge命令用于合并指定分支到当前分支。合并后,再查看readme.txt的内容,就可以看到,和dev分支的最新提交是完全一样的。
- 注意到上面的Fast-forward信息,Git告诉我们,这次合并是“快进模式”,也就是直接把master指向dev的当前提交,所以合并速度非常快。
- 当然,也不是每次合并都能Fast-forward,我们后面会讲其他方式的合并。
- 再次查询master分支readme.txt文件
1 | $ cat readme.txt |
合并完成!合并完成!合并完成!
删除分支git-study
查看分支列表
1
2
3$ git branch
git-study
* master删除git-study分支
1
2$ git branch -d git-study
Deleted branch git-study (was c2799ed).再次查询分支列表
1
2$ git branch
* master
总结
- 查看分支列表命令:git branch
- 创建分支命令:git branch
- 切换分支命令:git checkout
- 创建+切换分支命令:git checkout -b
- 合并分支命令:git merge
- 删除分支命令:git branch -d
其他
QQ交流群: 264303060