我提交了一些更改,并推动了github中的远程分支.但后来我意识到我在提交中犯了一些错误,并且推了很多错误的文件.有没有办法恢复推动?
cfo*_*ish 12
该git revert命令不会重写历史记录,但会通过新提交从提交中删除更改.那么你所要做的就是再次推动.这是建议的方法.
如果你真的想让github看起来像一个特定的提交从未真正发生过,有一种方法,但要谨慎(特别是如果其他用户贡献给github存储库).事实上,如果其他人使用这个github存储库,请立即停止并使用第一段中提到的方法.
如果这是您自己的私有github存储库,那么最后一次推送是您需要带走的(假设您仍在同一本地分支上):
git reset --hard HEAD~
git push -f
Run Code Online (Sandbox Code Playgroud)
如果它不是最后一次推送,请参阅手册页git cherry-pick,或者git rebase在执行之前让本地目录与您想要的github相匹配git push -f.如果您不提供-f选项git push,则不会重写历史记录.如果尝试重写历史记录,任何推送都将失败.该-f选项应该不会被默认使用.