我使用git push <branch_name>
将一些文件推送到github。当我打开PR时,文件会显示在更改中。如何撤消此git push
?简而言之,我试图在推送之前对该文件执行git reset
,但显然我输错了文件名。现在该怎么办?
如何撤消推送到Github?
答案 0 :(得分:9)
首先,如果出现问题,请进行备份。使用<repository>-backup
将您的存储库克隆为-b <branchname>
,不要触及该存储库。
其次,找到git log
中最后一次良好提交的提交哈希。
然后运行:
git push --force origin <last good commit hash>:<branch>
请注意,重写历史通常被认为是一个坏主意,除非您是存储库的唯一用户。如果其他人通过提交更改下拉了存储库,并且您强制推送并删除该提交,则存储库将进入损坏状态。
除非您推送了一些您真正需要删除的敏感信息,否则只需使用以下命令恢复提交:
git revert <commit hash to revert>
git push