Git branch简介

git branch命令列出repository中所有的branch

[root@localhost git_repo]# git branch
* master

3-1

git branch <branch-name>会从当前working directoryfork出一个新的branch

[root@localhost git_repo]# git branch crazy

git checkout <branch-name>会切换到指定branchworking directory

[root@localhost git_repo]# git checkout crazy

3-3

Fast-forwarding merge:把fork出来的branch merge回原branch时,如果原branchfork出来的branch没有分叉,也即还在fork出来的branchrevision history里,则直接让原branchHEAD指向现在fork出来的branchsnapshot即可。如下图所示:

3-8

3-10

3-11

fast-forwarding merge相对应的是3-way merge:两个branch之间存在着分叉,这时mergebranch需要产生一个新的commit

4-1

参考资料:
Branches, Part I
Branches, Part II

发表评论

邮箱地址不会被公开。 必填项已用*标注

This site uses Akismet to reduce spam. Learn how your comment data is processed.