如何从我的仓库中删除最新的提交?

时间:2013-03-31 20:09:15

标签: git github commit reset

我对我的github repo的最新提交有些错误。 我如何删除最新版本?

我是否使用此命令:

git reset --hard HEAD^

删除最新版本?

然后:

git push origin master

更新?

或者我应该使用另一个命令吗?

3 个答案:

答案 0 :(得分:2)

是的,可以重置并强制推送,但只有在您的存储库中单独工作时才应该这样做。

当将提交推送到公共/共享存储库时,该提交会被其他人克隆到他们的存储库中,因此可能会找到它返回存储库。

最好的方法是使用git revert HEAD恢复您的提交。这会创建另一个提交,它只会撤消您的上次提交。

规则是:如果您尚未发布提交,则可以重置,但如果您已经发布(即推送)了提交,则恢复是安全的方式。

答案 1 :(得分:0)

基本上,是的。你可能需要

git push --force origin master

因为它通常会拒绝不是当前远程HEAD的后代的更新,但是首先尝试自己的方式并看到它抱怨的内容不会有害。

答案 2 :(得分:0)

我会使用git reset --soft HEAD~1将文件保存在索引中。通过这样做,您可以修改错误的文件并再次提交。