所以这就是我所拥有的:
o experiments
|
o
|
o
|
o master
|
o
|
o (initial commit)
正如您所看到的,我正在为前三次提交的“master”分支工作。然后我创建了一个新的分支“实验”,朝着不同的方向前进。
现在我正面临这种情况:
我该如何应对这种情况?一个想法就是问这个问题:
如果您认为最后一个问题是处理这种情况的适当方法,请回答这个问题。随意提出其他方法。
答案 0 :(得分:1)
该图并未隐藏任何细节。所以,是的,我没有对主人做过任何单独的发展。
在这种情况下,合并尽可能简单。 Git将进行快速合并。这意味着它基本上只是将master
分支指针设置为与experiments
分支相同的提交。实际上没有其他事情发生。
即使你在master上有点分歧,git也不仅会对两个分支的尖端进行简单的比较,而是实际查看分支中发生的事情(通过找到共同的祖先);这被称为三向合并。所以,它可能会弄清楚你做了什么,你可能不会遇到极端的合并冲突。当然总会有一些例外情况,但在解决合并冲突时你可能很容易解决这些问题。
但同样,由于您的master
根本没有分歧,您可以轻松地按照您希望它最终查看的方式准备experiments
分支,然后快进master
。或者,如果您希望使历史记录反映出您实际上与master分歧(或至少计划分配)的事实,您还可以使用git merge --no-ff experiments
强制进行合并提交。