Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 合并以掌握两个以前有共同历史的分支_Git_Merge_Master_Revert - Fatal编程技术网

Git 合并以掌握两个以前有共同历史的分支

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

我在问与此相关的问题:

我有三个分支:master、A和B。我将B合并到A。但后来发现这是一个错误,所以我恢复了这个合并。我知道现在不可能再对一个合并执行另一个B(因为在恢复之前我可能会丢失B的更改),我应该首先执行此合并的恢复,然后将B合并到A

大师来了。。。如果在第一次恢复合并后,有人将B合并到master,然后将A合并到master,该怎么办?还是按相反的顺序?在第一次还原之前,B的更改是否会在主机上

有人能帮我吗

BR

您有此历史记录(时间从左向右流动):

这里,首先将
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