git - 将已解决的 git merge 复制到另一个 merge

标签 git

在我的 git 工作流程中,我必须将一个 feature 分支 merge 到 master 中。 然而,当我解决 merge 冲突时,有人将新提交推送到 featuremaster

然后我必须根据 new featurenew 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 featurefirst merge,然后 merge 结果到new master

关于git - 将已解决的 git merge 复制到另一个 merge,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44239435/

相关文章:

git - TortoiseGit,在每个文件的基础上配置自动 merge 工具

git - `git rm --cached` 和 `git update-index --assume-unchanged` 之间的区别?

git - 如何检查两个分支是否为 "even"?

git svn 忽略路径使用忽略文件

git - 如何在 GitLab CI 构建期间从私有(private) GitLab Git 仓库中提取 NPM 依赖项

git - git merge origin/master 和 git pull 的区别

git - git repo 是否总是必须在它自己的目录中

git - 在变量中分配命令的结果

xcode 不显示某些文件

git - Microsoft 的分布式源代码控制计划是什么?