【问题标题】:How do i remove the latest commit from my repo? [duplicate]如何从我的仓库中删除最新的提交? [复制]
【发布时间】:2013-03-21 23:14:15
【问题描述】:

我对 github 存储库的最新提交出现了一些错误。 如何删除最新的?

我使用这个命令吗:

git reset --hard HEAD^

要删除最新的吗?

然后:

git push origin master

更新?

还是我应该使用另一个命令?

【问题讨论】:

    标签: git github commit reset


    【解决方案1】:

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

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

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

    规则是:如果你还没有发布你的提交,重置是可以的,但如果你已经发布(即推送)你的提交,那么恢复是安全的方式。

    【讨论】:

    • 好的,谢谢,我会记住的!
    【解决方案2】:

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

    git push --force origin master
    

    因为它通常会拒绝不是当前远程 HEAD 后代的更新,但先尝试您的方式并看看它抱怨什么不会有什么坏处。

    【讨论】:

    • 感谢它与您的命令一起工作,没有 --force 我收到错误消息!
    【解决方案3】:

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

    【讨论】:

      猜你喜欢
      • 2017-07-12
      • 2012-12-12
      • 2014-07-07
      • 2020-06-14
      • 1970-01-01
      • 2012-01-01
      • 2018-03-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多