gpt4 book ai didi

git - 在 GIT 中重做错误的 merge

转载 作者:太空狗 更新时间:2023-10-29 13:46:36 27 4
gpt4 key购买 nike

很久以前,在 git 历史中我可以看到有人错误地 merge 了两个分支。他有冲突,所以他干脆删掉了很多有冲突的改动。结果是主分支不包含这些更改(在我们检查之前我们甚至没有怀疑它)。

分支 feature 已 merge 到分支 development 中。 Feature 包含更改 X Y Z。但是,Y 和 Z 在 merge 过程中被删除,因此 development 仅包含 X。我想将 feature merge 到再次开发,因为我需要所有更改。但是,GIT 认为它们已经 merge (它知道它们有冲突并被手动“解决”)。

我该如何进行 merge ?

一些注意事项:

  • 我不能简单地 merge ,更改根本不可见。
  • 我无法挑选,它不起作用。
  • 我不想“只复制文件并再次提交”,因为这意味着 GIT 在关键用例中失败
  • 我尝试使用不同的 git merge 策略并取得了部分成功,但每种策略都遗漏了一些文件,最后我没有在开发中进行所有更改

当然,将 feature merge 到一个新分支(从 development 提交开始,就在错误提交之前)是可行的。我可以看到所有必要的更改。但是同样,由于上述原因,我无法将这个新分支 merge 到开发中。

最佳答案

查看有关如何撤消 merge 的 git 书籍部分:https://git-scm.com/book/en/v2/Git-Tools-Advanced-Merging#_undoing_merges

建议使用 git revert 撤销 merge 提交。并且为了解决重新 merge 的问题(因为 git 提示那些提交已经在历史中)它建议恢复恢复(而不是尝试再次 merge )。

关于git - 在 GIT 中重做错误的 merge ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43869698/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com