如何将本地分支恢复到github中的状态?

时间:2010-01-27 13:41:03

标签: git branch github revert

我针对本地存储库中的错误分支进行了一些开发。我做了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 repo中的方式。什么是最好的方法呢?

4 个答案:

答案 0 :(得分:66)

您可以更快地将本地分支重置为特定的遥控器:

git reset --hard remote/branch

“远程”遥控器的名称 其中“分支”远程分支的名称

答案 1 :(得分:15)

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

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

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

git branch -av

然后切换开发分支,以便删除它:

git checkout origin/development
git branch -D development

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

git checkout origin/development -b development

我建议检查原始/开发,以避免在快照中不必要地搅动文件。

答案 2 :(得分:2)

返回您想要进行更改的本地发布分支,从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^

答案 3 :(得分:-3)