我通过
将一些提交移到了另一个分支git checkout -b old-state 0d1d7fc32
现在我想将我的本地主状态推送到掌握,但是
Everything up-to-date
发生。我怎样才能恢复原状?
答案 0 :(得分:1)
让我们总结一下:
master
状态推送到origin/master
master
重置为修订版0d1d7fc32
origin/master
指向0d1d7fc32
这是如何实现的:
将您的本地主分支重置为0d1d7fc32
:
git checkout master
git reset --hard 0d1d7fc32
让origin/master
和master
相等:
git push -f origin master:master
完成。
不要将Git命令与您可能从其他VCS知道的命令混淆。我知道有一些VCS checkout
意味着
将工作副本带到修订
Git的情况并非如此。也许您想浏览http://git-scm.com/以获得第一印象,然后read a book左右。
原始答案:
git checkout -b old-state 0d1d7fc32
创建一个名为old-state
的本地分支,其最后一次提交是具有SHA d1d7fc32
的提交。
我假设您希望origin/master
处于与本地master
分支相同的状态。
在这种情况下,请执行
git push -f origin master:master
使它们平等。
git checkout
不动任何东西。它只是创建一个名为old-state
的新分支,它与当前分支共享相同的历史记录。如果您传递了修订号,它将共享相同的历史记录,直到(并包括)给定的修订版。