在Git中,如果我将分支B合并到A中并解决合并冲突,那么在再次将A合并到B中时是否仍然会出现合并冲突?
我有一个分支在Git中,如果我将分支B合并到A中并解决合并冲突,那么在再次将A合并到B中时是否仍然会出现合并冲突?,git,merge,Git,Merge,我有一个分支integration,如果我试图将一个与master非常相似的分支合并到该分支中,就会产生大量合并冲突。然而,有人告诉我,integration本身已经合并到master中。这是否意味着在将master合并到integration时,我不应该期望出现任何合并冲突?是的,没错。如果您已将集成合并到主控,则以另一种方式合并只是一种快速的合并。因此,integration分支指针可以移动到合并提交上,因此master和integration指向同一提交 只有在两个合并之间的其中一个分支上
integration
,如果我试图将一个与master
非常相似的分支合并到该分支中,就会产生大量合并冲突。然而,有人告诉我,integration
本身已经合并到master
中。这是否意味着在将master
合并到integration
时,我不应该期望出现任何合并冲突?是的,没错。如果您已将集成
合并到主控
,则以另一种方式合并只是一种快速的合并。因此,integration
分支指针可以移动到合并提交上,因此master
和integration
指向同一提交
只有在两个合并之间的其中一个分支上不再发生提交时,才会出现这种情况。否则,可能会出现新的合并冲突
但是,您不能从中得出任何类似于
master
的分支假设。是的,没错。如果您已将集成
合并到主控
,则以另一种方式合并只是一种快速的合并。因此,integration
分支指针可以移动到合并提交上,因此master
和integration
指向同一提交
只有在两个合并之间的其中一个分支上不再发生提交时,才会出现这种情况。否则,可能会出现新的合并冲突
但是,您不能从中得出类似于
master
的分支的任何假设。首先,请注意这一总体思路,它可以产生版本控制系统(不仅仅是Git)所称的交叉合并:
这是相当不同的,正如Git有时会做快进而不是合并,除非您禁止它强制进行真正的合并。(上图假设您在集成时运行了git merge--no ff master
)
不幸的是,您在文本中实际所说的是模棱两可的:
...--o--o--o <-- master
?
...---o--o <-- integration
\
\
M <-- [proposed merge that gets conflicts]
/
/
...---o--o <-- thirdbranch
…--o--o--o首先,要注意这个总体思路,它可以产生版本控制系统(不仅仅是Git)所称的交叉合并:
这是相当不同的,正如Git有时会做快进而不是合并,除非您禁止它强制进行真正的合并。(上图假设您在集成时运行了git merge--no ff master
)
不幸的是,您在文本中实际所说的是模棱两可的:
...--o--o--o <-- master
?
...---o--o <-- integration
\
\
M <-- [proposed merge that gets conflicts]
/
/
...---o--o <-- thirdbranch
…--o--o--o顺便说一句,在本例中,当冲突发生时,我想保留主版本
,我使用git merge--strategy recursive-X他们的主版本
fromintegration
。这导致了更少的合并冲突(只有一对被他们删除了)。顺便说一句,在这种情况下,我想在冲突发生时保留master
版本,这是我使用git merge--strategy recursive-X他们的master
从integration
执行的。这导致了更少的合并冲突(只有一对被它们删除了)。
...--o--o--o <-- master
?
...---o--o <-- integration
\
\
M <-- [proposed merge that gets conflicts]
/
/
...---o--o <-- thirdbranch