我想删除旧的提交,因为我必须将其分为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
和fixup
,但每次都会将这个“已删除”提交的更改添加到另一个提交中,而且我不想要。
答案 0 :(得分:2)
不要使用fixup。只需在interactive rebase期间删除该行。
这将足以让该提交被删除。
但随后准备强制推动(git push --force
)这可能会对公共分支造成问题。
另一个选项是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"