Git 合并以掌握两个以前有共同历史的分支
我在问与此相关的问题: 我有三个分支:master、A和B。我将B合并到A。但后来发现这是一个错误,所以我恢复了这个合并。我知道现在不可能再对一个合并执行另一个B(因为在恢复之前我可能会丢失B的更改),我应该首先执行此合并的恢复,然后将B合并到A 大师来了。。。如果在第一次恢复合并后,有人将B合并到master,然后将A合并到master,该怎么办?还是按相反的顺序?在第一次还原之前,B的更改是否会在主机上 有人能帮我吗 BR您有此历史记录(时间从左向右流动): 这里,首先将Git 合并以掌握两个以前有共同历史的分支,git,merge,master,revert,Git,Merge,Master,Revert,我在问与此相关的问题: 我有三个分支:master、A和B。我将B合并到A。但后来发现这是一个错误,所以我恢复了这个合并。我知道现在不可能再对一个合并执行另一个B(因为在恢复之前我可能会丢失B的更改),我应该首先执行此合并的恢复,然后将B合并到A 大师来了。。。如果在第一次恢复合并后,有人将B合并到master,然后将A合并到master,该怎么办?还是按相反的顺序?在第一次还原之前,B的更改是否会在主机上 有人能帮我吗 BR您有此历史记录(时间从左向右流动): 这里,首先将B合并到master
B
合并到master
,然后是A
。如您所见,反转现在是master
的一部分,它带来的更改也是如此,即它撤消分支B
的更改。您可以看到,X
和所有提交到(但不包括)Y
的更改都具有分支B
,但Y
以及以后恢复这些更改
另一方面,如果分支
A
首先被合并,那么分支B
(以及其反向提交R
)已经包括在合并中gitmergeb
会告诉您:“已经是最新的了”。那么现在最好的解决方案是什么?恢复分支A上此合并的恢复,然后将两者(分支A和B)合并到主服务器?有没有更好的办法来解决这个问题?或者有没有什么方法可以更早地摆脱这种情况-而不是做还原而不是合并-做其他事情?你既没有指定你想要实现什么,也没有指定你的约束是什么。你可以做很多事情,但你应该做哪一件取决于很多事情。
-o--o--o--o <- master
\
a--a--a---M--R <- branch A
\ /
b--b--b <- branch B
-o--o--o--o--X----Y <- master
| / |
| b--b--b | <- branch B
\ / \ /
a--a--a---M--R <- branch A