Git 在还原合并后检测到文件较新,因此不会显示冲突

Git detects files as newer after reverting a merge, so it doesn't show conflict

我有这样的场景: 有 2 个分支,'develop' 和 'feature-branch'。这两个分支随着时间的推移各自独立地增长。现在,去年 11 月 16 日,从“feature-branch”合并到“develop”。 此合并不应该完成,因此在 11 月 19 日恢复。 问题:现在 develop 中的文件更新了,所以当从 'develop' 合并到分支以集成两者时,git 将文件保留在 develop 中。 这是一个问题,因为分支上有必要的代码,并且由于它不会产生冲突,所以我无法集成它们。我需要手动检查每个文件并检查逻辑,这并不理想。 有什么办法可以解决这个问题吗?

  1. 根据“发展'.
    git checkout -b prepare-develop-into-feature-branch <commit-id-of-merge-revert>
  2. 创建一个还原 merge-revert
    git revert HEAD
  3. 的提交
  4. 签出'feature-branch'
    git checkout feature-branch
  5. 合并'prepare-develop-for-merge-into-feature-branch'到 它
    git merge prepare-develop-for-merge-into-feature-branch
  6. 将实际的'develop'合并到'feature-branch'
    git merge develop

如果 merge-revert 从未发生过,那么结果应该看起来像您期望的样子。