恢复已提交的 git merge 的最佳方法是什么,同时保留稍后 merge 同一分支的选项?
这是针对这样一种情况,当我将一个分支 merge 到 HEAD 中,然后决定我目前不想要这些更改,但仍然希望可以选择在以后的某个时候将它们 merge 到 HEAD 中.
“git revert -m 1”将代码恢复到 merge 前的状态,但分支仍然以某种方式标记为“已 merge ”。因此,稍后与同一分支重复 merge 是行不通的。
这应该是一个非常普遍的问题(而 git 是一个进化的工具),但我找不到一个简单干净的解决方案(除了销毁 git 存储库并再次从远程 pull 它)。我错过了什么吗?
最佳答案
很抱歉,您浪费了您的 Twig 。
但是有一个解决方法。诀窍是暂时“重写” merge 提交,以便它忘记分支是父分支。假设 X
是 merge 提交:
git replace --graft X X^ # pretend that there is just one parent
git merge branch # merge the branch again
git replace --delete X # remove the replacement
关于git - 恢复 git merge ,同时允许稍后进行相同的 merge ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57904970/