我想删除较旧的提交,因为我必须将其分成 2 个提交。
所以变化是在a5b4cd
与以下的变化相同2a0d40e
+ a8bb836
.
2a0d40e Add sending
a8bb836 Add parsing
a5b4cbd Add sending and parsing <--- I want to delete this
f6063ac First commit
我尝试了一些git rebase -i
and fixup
在这里,但每次,它都会将这个“已删除”提交的更改添加到另一个提交,而这是我不想要的。
不要使用修复程序。只需在您的过程中删除该行交互式变基 https://git-scm.com/docs/git-rebase#_interactive_mode.
这足以让该承诺被放弃。
但接下来就要准备好强行推动(git push --force https://git-scm.com/docs/git-push#git-push--f)这在公共分支上可能会出现问题。
另一种选择是git revert https://git-scm.com/docs/git-revert(如果您只是想取消该提交而不是将其从历史记录中完全删除)
在变基之前,当我想将它们分开时,我得到了带有 File3 和 File4 的 Commit2。然后我想将它分开,所以我删除了File4,添加了Commit3(仅包含File1和File3),然后添加了File4并进行了Commit4。
那么解决方案就不同了:在提交 4 时(包含所有文件),执行
git reset --soft Commit1
git add File3
git commit -m "Add File3"
git add File4
git commit -m "Add File4"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)