这是如何恢复到之前的提交并重新连接到它?
git log
git checkout 4bce33d #restore to a previous commit
git branch -f master #create new branch at head and force branch name to master
git checkout master #attach head to master branch
这只在本地存储库中,没有远程 还有更好的方法吗?
答案 0 :(得分:3)
如果您只想在特定提交中指出master
,
$ git checkout master # only if you're not already on this branch
$ git reset --hard 4bce33d
会奏效。请注意,这会重置分支指针和您的索引和工作树。如果你想单独留下你的工作树,
$ git reset --soft 4bce33d
无法更改您的文件。新HEAD和本地目录之间的任何差异都将显示为"要提交的更改"。
答案 1 :(得分:0)
如果您领先于所需的提交,那么您可以使用此方法 点击
git log
查看您想要返回多少提交
然后点击
git reset --hard HEAD~N
会让你回到N回来提交。 N = 1,2,3等......它会让你N回头。
答案 2 :(得分:0)
将head-branch移动到之前的提交:
$ git status #make sure current directory is committed, or lose it
$ git log --oneline --decorate #make sure there is a ref besides HEAD branch, or lose it
$ git reset --hard 9e5e64a #move Head-branch to specified commit
加斯顿指出了一个很好的参考。最新版本位于http://git-scm.com/book/en/v2/Git-Tools-Reset-Demystified#The-Role-of-Reset