我在这种情况下:
feature
)graphics
),我也在那里工作(保持待机状态另一个分支)feature
分支graphics
将在完成并审核后合并到主数据库中,但现在我想将graphics
更改也集成到我的分支feature
中,该分支也将与主服务器合并结束。
因此,在feature
已经合并之后,我们必须将graphics
合并到母版中。
最好的方法是什么?我可以通过feature
更改来graphics
吗?或者将graphics
合并到feature
(这样我将合并graphics
两次?)?或者我必须挑选所有提交?
我希望我的情况很清楚!
答案 0 :(得分:1)
首先,将graphics
合并到master
。然后,在feature
之上重新master
。
git checkout master
git merge graphics
git checkout feature
git rebase master
这样,您将获得graphics
更改,并在feature
中保持整洁的历史记录。
将graphics
合并到feature
之前将其合并到master
是非常不明智的,除非您有特殊原因。
但如果你确实有特殊原因,那就继续吧......
git checkout feature
git merge graphics
请注意,根据具体情况,您可能需要git rebase graphics
而不是git merge graphics
。最终结果(feature
上文件的内容)将完全相同,但历史记录a.k.a.提交树看起来会有所不同。当你最终将两个分支合并到master
并且看起来很干净时,后者将避免任何类型的额外冲突;我可能更喜欢这样。但不知道你想要达到什么目标很难说。
N.B。如果您执行git rebase
,然后将更多内容提交到graphics
,那么您需要在最终合并到git rebase
之前再次执行master
(我建议您立即执行此操作您已将graphics
合并到master
)。
答案 1 :(得分:0)
情景1,
将OLD
合并到graphics
时;
在这种情况下,您可以从master
重新定位feature
分支,因为master
中存在graphics
分支更改。
情景2,
当master
分支尚未合并且您需要更改时;
在这种情况下,有两种可能性,
一世。只需在graphics
分支中取graphics
分支拉,将feature
分支合并到graphics
分支,然后在功能分支中说明feature
。
II。对git pull origin graphics
分支进行rebase
feature
分支,假设您是功能分支do graphics
和git rebase feature
,除非所有rebase冲突和合并冲突已解决。< / p>
最好的方法是使用git rebase --continue
分支重新分支您的分支,然后将graphics
分支合并到graphics
,然后再次创建主服务器的拉取请求。这样做很棒。