在我的git工作流程中,我必须将feature
分支合并到master
。
然而,当我解决合并冲突时,有人将新提交推送到feature
和master
。
然后我根据new feature
和new master
生成新的合并提交。但是,90%的合并冲突仍然是相同的。
所以我的问题是。我可以保存first merge
的进度,并将其应用于new merge
的冲突阶段吗?
+--------+ +--------+ +------------+
| | | | | |
| init +------> | master +-----------> | new master |
| | | | | |
+--------+ +--------+ +------------+
| | |
| +---------+ +-------------+
| | | | |
+---------> | feature +----------> | new feature |
| | | |
+---------+ +-------------+
| | ||
| | ||
| | +----------------+ || +-----------+
| +----> | | +---------> |
| | first merge | | | new merge |
+-----------> | +---------> |
+----------------+ +-----------+
答案 0 :(得分:1)
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可以为您提供帮助。
也许有一种简单的方法可以做到这一点。
将new feature
合并到first merge
,然后将结果合并到new master
。