【问题标题】:How to undo a git push? [duplicate]如何撤消 git push? [复制]
【发布时间】:2016-10-03 00:51:05
【问题描述】:

我使用git push <branch_name> 将一些文件推送到 github。当我打开 PR 时,文件会显示在更改中。如何撤消此git push?简而言之,我尝试在推送之前对该文件执行git reset,但显然我输入了错误的文件名。现在我该怎么办?

如何撤消对 Github 的推送?

【问题讨论】:

  • 这个存储库是由其他开发者贡献的吗?从那以后有人对其进行过任何更改吗?

标签: git


【解决方案1】:

首先,进行备份,以防出现问题。使用-b <branchname> 将您的存储库克隆为<repository>-backup,并且不要碰那个。

其次,在git log中找到最后一次好的提交的提交哈希。

然后运行:

git push --force origin <last good commit hash>:<branch>

请注意,重写历史通常被认为是一个坏主意,除非您是存储库的唯一用户。如果其他人通过提交更改拉下存储库,而您强制推送并删除该提交,则存储库将进入损坏状态。

除非您推送了一些您确实需要删除的敏感信息,否则只需使用以下命令还原提交:

git revert <commit hash to revert>
git push

【讨论】:

    猜你喜欢
    • 2014-11-03
    • 2010-11-19
    • 2012-02-29
    • 2021-02-12
    • 2015-09-03
    • 2012-10-31
    • 1970-01-01
    • 2017-12-10
    • 2013-01-06
    相关资源
    最近更新 更多