如何从历史记录中删除已发布的Git提交?

时间:2011-06-08 03:25:35

标签: git github

我意外地使用Git进行了更改,将其推送到GitHub,之后做了几次提交。我需要从历史中删除该提交。我意识到这可能会软管其他的叉子,我很好。

我可以使用以下命令在本地修改我的历史记录:

git rebase --onto HEAD~4 HEAD~3 HEAD

似乎工作正常。但是,我不知道如何将已更改的历史记录适当地推回到github。

2 个答案:

答案 0 :(得分:4)

我设法以一些不同的方式完成了整个过程:

git rebase -i <commit>^
... delete first commit in editor ...
git push -f

答案 1 :(得分:3)

如果您有任何合并,则需要使用

保存它们
git rebase -i --preserve-merges commit^

否则,git会使你的历史变得平坦。

然后使用force选项按下。