Git - 删除类似的旧提交,它的更改从未发生过

时间:2017-03-08 19:26:48

标签: git

我想删除旧的提交,因为我必须将其分为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 -ifixup,但每次都会将这个“已删除”提交的更改添加到另一个提交中,而且我不想要。

1 个答案:

答案 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"