恢复已提交的 git 合并同时保留稍后合并同一分支的选项的最佳方法是什么?
这是一个情况,当我分支合并到HEAD,然后再决定,我不希望这些变化在本,但还是希望将它们合并到HEAD在以后的某个点的选项。
“ git revert -m 1 ”将代码恢复到合并前的状态,但分支仍然以某种方式标记为“已经合并”。因此,稍后与同一分支重复合并不起作用。
这应该是一个非常普遍的问题(并且 git 是一个进化的工具),但我找不到一个简单干净的解决方案(除了销毁 git 存储库并再次从远程拉取它)。我错过了什么吗?
对不起,你浪费了你的分支。
但是有一个解决方法。诀窍是暂时“重写”合并提交,以便它忘记分支是父分支。假设X是合并提交:
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
Run Code Online (Sandbox Code Playgroud)