我有以下分支:
master
test1
,由master
test2
,也是由master
。我已经在test1
分支上完成了多次提交,而且,由于我创建了test1
分支,因此我在master
上创建了多次提交。
还有test2
上的提交,我打算稍后将其合并回master
。
现在的想法是,我需要master
的更改,如果可能的话,我需要test2
test1
上的更改。
我想知道我是否可以将master
合并到TEST1
,因此我从master
test
获取提交,并在test1
完成我的功能后master
1}},再次合并到test2
。那可能吗?或者会引发冲突?
是否可以将test1
合并到test2
,然后将test1
合并到master中,最后将master
合并到{{1}}?
Git会理解某些提交已经合并到正在合并的分支中吗?
答案 0 :(得分:12)
我想知道我是否可以将MASTER合并到TEST1中,所以我在测试时获得了master的提交,在test1上完成我的功能后,再次将它合并到MASTER。那可能吗?或者它会引发冲突?
究竟是怎么做的。将master合并到test1时可能会遇到冲突,您必须手动解析。之后,您应该能够将test1合并到master中而不会发生冲突。
如果可能的话,可以将test2合并到test1中,然后将test2合并到master中,然后将test1合并到master中吗?
有可能,但不可取。而是将master合并到test2中,然后将test2合并回master。 (与test1相同。)
在此之后,您的所有更改都应该在主人身上。
git是否会理解某些提交已经合并到正在合并的分支中?
是的,与SVN不同,Git知道这样的提交。
答案 1 :(得分:6)
要合并时始终保持最新并且不会产生任何冲突,您可以执行以下操作:
git checkout test1
git rebase master
此时,您将与master保持同步,并在test1上提交您的提交。
rebase
会执行以下操作:
在此之后,合并回主人将是一个快进。
git checkout master
git merge test1
我喜欢这种方法如下:
我已经应用了很长一段时间了,它似乎适合你想要完成的任务。