介绍
这篇文章运用简单易懂的例子给大家介绍合并命令在git中的使用场景有哪些,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
<强> 1.1“快进”(无冲突)强>
主分支
假设现在只有一个默认的主分支,并提交了3次,B0, B1和B2都是提交对象。
首先要清楚,每次产生的提交对象会包含一个指向上次提交对象(父对象)的指针,所以图中B0, B1和B2之间的箭头是指针指向父对象的意思,真正的提交顺序还是B0到B1再到B2。同时主指针指向最新的提交B2。
另外git中还有一个名为头的特殊指针,它是一个指针,指向当前所在的本地分支(可以将脑袋想象为当前分支的别名)。
<强> dev新分支强>
现在新建一个分支并切换到新分支。
git checkout - b dev美元 转向了一种新分支& # 39;dev # 39;
它是下面两条命令的简写:
dev美元git分支 美元git checkout dev
在分支dev的工作结束,切换到分支主人,然后把dev合并到主人上:
git checkout美元的主人 切换分支& # 39;主# 39; git合并dev美元 合并由& # 39;递归# 39;策略。 测试2。txt | 3 + + - 1文件改变了,2插入(+),1删除(-)
由于当前主人分支所指向的提交是你当前提交(dev的提交)的直接上游,所以Git只是简单的将主指针向前移动。换句话说,当你试图合并两个分支时,如果顺着一个分支走下去能够到达另一个分支,那么Git在合并两者的时候,只会简单的将指针向前推进(指针右移),因为这种情况下的合并操作没有需要解决的分歧,这就叫做“快进”(快进)。合并结果如下:
美元git分支- dev
<强> 1.2非“快进”,修改不同文件。(无冲突)强>
当在新分支dev进行了一次提交B3,再回到分支主又进行一次提交B4。
美元git分支- dev
<强> 1.3非“快进”,修改相同文件。(有冲突)强>
当在新分支dev进行了一次提交B3,再回到分支主又进行一次提交B4。