现在来看一下分支分叉的情况。例如,有2个分支:master
与dev
,现在一个人在dev
分支下提交了修改,另一个人在master
上提交了修改,这个2个分支就分叉了。
为加深理解,让我们实际尝试一下:
- 使用
git branch master
命令切换到master
分支,修改test1.txt
,并提交 - 使用
git branch dev
命令切换到dev
分支,添加test2.txt
,并提交
现在master
分支与dev
分支就分叉了。
如下图所示,从master
分支与dev
分支的提交记录中可以看到,2个分支有一个共同祖先,然后就分叉了,各自都有自己独有的提交。
现在切换到master
分支,并执行git merge dev
合并分支,执行过程中,git会打开编辑器要求你输入合并后生成的提交描述信息。下图显示了合并之后,git提交记录的状态。
新的提交把dev
分支的提交合并进了master
分支。
git中的提交除了是文件的快照,还包含前次提交(父提交)的信息,每个提交都可有一个或多个父提交,我们新的合并提交有2个父提交:master
的最后提交与dev
的最后提交。