代码之家  ›  专栏  ›  技术社区  ›  ViaTech

Github回溯到上一次推送

  •  0
  • ViaTech  · 技术社区  · 6 年前

    这个问题已经有了答案:

    我意识到这并不是一个直接的编码问题,但是github被广泛使用,我还没有看到如何做到这一点,所以我想在我试图解决它的时候我会问。

    使用github如何将开发分支回溯到上一个推送点?

    例如,假设我有一个dev分支,我推送错误代码,在需要的情况下,如何回溯到该分支中的前一点?

    我更希望看到如何从命令行执行此操作,但在web ui中也可以。

    1 回复  |  直到 6 年前
        1
  •  1
  •   Tim Biegeleisen    6 年前

    假设您的提交错误的分支已经发布到github,并且其他用户可能已经推送了它,那么您通常会 从字面上来说,就是把那根树枝向后倒。相反,你会用 git revert 要从功能上撤消错误提交,请执行以下操作:

    git revert 1a7h3jxk       # where 1a7h3jxk is the SHA-1 hash of the bad commit
    

    GIT回复 实际上添加了 新的 commit在功能上撤消您指定为参数的commit。它还允许指定提交范围的语法。

    如果你真的想正式“回溯”你的分支,你 能够 执行硬重置以删除错误提交。例如,要实际删除单个错误提交,可以执行以下操作:

    git reset --hard HEAD~1
    git push --force origin your_branch
    

    但请注意,执行硬重置意味着您正在重写分支的历史。这意味着您必须强制推送(读取:覆盖)远程上分支的版本。如上所述,这个选项应该 如果除了你之外还有人共享这个分支,请使用。