在我的 git 工作流程中,我必须将一个 feature
分支 merge 到 master
中。
然而,当我解决 merge 冲突时,有人将新提交推送到 feature
和 master
。
然后我必须根据 new feature
和 new master
生成一个新的 merge 提交。然而,90% 的 merge 冲突仍然相同。
所以我的问题是。我可以保存第一次 merge
的进度,并将其应用到新 merge
的冲突阶段吗?
+--------+ +--------+ +------------+
| | | | | |
| init +------> | master +-----------> | new master |
| | | | | |
+--------+ +--------+ +------------+
| | |
| +---------+ +-------------+
| | | | |
+---------> | feature +----------> | new feature |
| | | |
+---------+ +-------------+
| | ||
| | ||
| | +----------------+ || +-----------+
| +----> | | +---------> |
| | first merge | | | new merge |
+-----------> | +---------> |
+----------------+ +-----------+
最佳答案
Git 有一个叫做 rerere 的特性。可以在这种情况下使用。 在配置文件中启用 rerere,它就可以正常工作。 我认为这是解决这个问题的正确方法。
https://git-scm.com/blog/2010/03/08/rerere.html
https://git-scm.com/docs/git-rerere
要在不提前启用的情况下使用此功能,脚本 https://github.com/git/git/blob/master/contrib/rerere-train.sh可以帮助你。
也许有一个简单的方法可以做到。
merge new feature
到first merge
,然后 merge 结果到new master
。
关于git - 将已解决的 git merge 复制到另一个 merge,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44239435/