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

Jas*_*ker 18 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
Run Code Online (Sandbox Code Playgroud)

那时我意识到我正在做错误的分支.我的github回购处于正常状态,但我当地的回购并非如此.我已将开发中的更改合并到release-v0.2.0b中,但我想将开发重置为我在github repo中的方式.最好的方法是什么?

Tha*_*Pap 69

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

git reset --hard remote/branch
Run Code Online (Sandbox Code Playgroud)

其中"远程"远程名称的位置
"分支"远程分支的名称

  • 谢谢。这个答案正是我一直在寻找的答案,应该是正确的答案。 (2认同)

Jam*_*cks 15

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

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

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

git branch -av
Run Code Online (Sandbox Code Playgroud)

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

git checkout origin/development
git branch -D development
Run Code Online (Sandbox Code Playgroud)

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

git checkout origin/development -b development
Run Code Online (Sandbox Code Playgroud)

我建议检查源/开发,以避免快照中不必要的文件搅动.