【问题标题】:How do revert a local branch back to how it is in github?如何将本地分支恢复到 github 中的状态?
【发布时间】:2010-01-27 13:41:03
【问题描述】:

我针对本地存储库中的错误分支进行了一些开发。我做了一个git branch 而没有接下来做一个git checkout。命令如下所示:

#On branch development
git branch release-v0.2.0b
# changes and several commits
git push origin release-v0.2.0b

那时我意识到我在错误的分支上工作。我的 github 存储库处于正确状态,但我的本地存储库不是。我已将开发中的更改合并到 release-v0.2.0b 中,但我想将开发重置为我的 github 存储库中的方式。解决这个问题的最佳方法是什么?

【问题讨论】:

    标签: git branch github revert


    【解决方案1】:

    您可以更快地将本地分支重置为特定的远程:

    git reset --hard remote/branch
    

    在哪里“远程”您的遥控器的名称
    其中“分支”是远程分支的名称

    【讨论】:

    • 谢谢。这个答案正是我想要的,应该是正确的。
    【解决方案2】:

    只是为了确保我了解事物的状态:您创建了发布分支但没有将其签出,因此您的提交位于本地存储库的开发分支上。您说您将更改合并到 release-v0.2.0b 分支中。

    如果是这种情况,并且您需要保留开发分支上没有其他提交,只需删除开发分支的本地副本并从源再次检出。

    首先,验证您拥有哪些分支以及您所在的分支:

    git branch -av
    

    然后从开发分支切换出去,这样你就可以删除它了:

    git checkout origin/development
    git branch -D development
    

    这实际上让你没有在分支上,但是当你再次从原点检查它时,你会回到一个分支上:

    git checkout origin/development -b development
    

    我建议检查 origin/development 以避免不必要地搅动快照中的文件。

    【讨论】:

      【解决方案3】:

      回到你想要更改的本地发布分支,从 github 拉到那里。

      git checkout local-branch-that-refers-public-v0.2.0b
      git pull origin release-v0.2.0b
      

      然后,将您提交的本地分支的分支指针重置为您想要返回的较早提交。

      git checkout release-v0.2.0b
      git reset HEAD^
      

      【讨论】:

        【解决方案4】:

        【讨论】:

          猜你喜欢
          • 2011-10-21
          • 2014-10-07
          • 2015-04-30
          • 2022-12-17
          • 2011-06-12
          • 2016-11-27
          • 2022-09-22
          • 2021-09-23
          相关资源
          最近更新 更多