我不太熟悉git的工作原理。我错误地推送了一份承诺,并想要恢复它。我做了一个
git reset --hard HEAD~1小心谷歌同事:,这不仅会恢复提交,而且会丢弃所有的文件更改!
现在这个项目在我的机器上恢复了,而不是在github上。如果我试图推送这段代码,我会得到错误‘您的分支在’起源/主‘后面的1提交,并且可以快速转发。如何从github中删除此提交?
发布于 2011-03-21 18:30:23
您可以做git push --force,但要注意您正在重写历史记录,任何使用回购的人都会对此有异议。
如果您想防止这个问题,不要使用重置,而是使用git revert
发布于 2014-02-06 22:04:32
这个文章对如何执行各种场景有一个很好的解释(在这种情况下,提交已经完成,而推送或只是提交,在推送之前):
从本文中,我看到通过提交id恢复以前提交的最简单的命令是:
git revert dd61ab32发布于 2011-03-21 18:32:09
或者您可以尝试使用git还原http://www.kernel.org/pub/software/scm/git/docs/git-revert.html。我认为像git revert HEAD~1 -m 1这样的东西会恢复您的最后一次提交(如果它仍然是最后一次提交)。
https://stackoverflow.com/questions/5381945
复制相似问题