git合并重复冲突

问题描述 投票:0回答:2

我有一个分支

master
和一个从
feature
签出的分支
master

master
从其他开发人员那里获取提交,我定期将
master
合并回
feature
,以便它跟上其他分支的新开发。

但是,每次执行

git merge master
时,我都会在同一文件中遇到相同的冲突,尽管我之前解决了冲突并提交了更改。

对于造成这种情况的原因以及如何预防有什么想法吗?

谢谢!

git merge
2个回答
11
投票

首先考虑不要将集成分支合并到功能分支中。

再次查看 git rerere 命令并使用它:

$ git config --global rerere.enabled true

姓名

  git-rerere - Reuse recorded resolution of conflicted merges

描述

  In a workflow employing relatively long lived topic branches,
  the developer sometimes needs to resolve the same conflicts
  over and over again until the topic branches are done (either
  merged to the "release" branch, or sent out and accepted upstream)

0
投票

迈克提到过这一点,但我认为它值得自己回答

rerere
是一个很好的解决方案,但我认为有一个更好的解决方案:使用
git rebase

您的

feature
分支对合并到
master
一无所知,因此当您再次合并它时,它会再次遇到相同的冲突。

相反,

rebase
您的功能分支到
master
,然后在
fast-forward
上执行
merge
master
。 冲突解决现在发生在
rebase
期间,这是
master
feature
的共同过去,并且您不再看到任何冲突。

© www.soinside.com 2019 - 2024. All rights reserved.