撤消git拉,如何将回购旧状态
有什么办法可以恢复或撤消git pull,这样我的源代码/回购将会在执行git pull之前进入旧状态? 我想这样做是因为它合并了一些我不想这样做的文件,但只合并其他剩余的文件。 所以,我想让这些文件回来,这可能吗? 谢谢 :)
编辑我想撤消混帐澄清。 看到一些答案后,我做到了
git reflog
bb3139b... HEAD@{0}: pull : Fast forward
01b34fa... HEAD@{1}: clone: from ...name...
  现在,我该怎么办?  做git reset --hard好的?  我不想再拧它,所以要求详细的步骤? 
  git pull会做两件事:它执行一个git fetch ,然后是一个git merge ,它会合并已经设置为在你的配置中合并的分支。 
所以你想要做的就是撤消合并(撤消抓取并没有多大意义,也不需要)。
  要做到这一点,你可以尝试使用git reset --hard重置到以前的状态。  使用git-reflog命令查找先前状态的SHA-1,然后重置为它。 
  警告 : git reset --hard会删除所有未提交的更改。 
和jkp的答案一样,但是下面是完整的命令:
git reset --hard a0d3fe6
其中a0d3fe6是通过做
git reflog
并看看你想撤消的点。
更现代的撤销合并的方式是:
git merge --abort
稍微老一点的方式:
git reset --merge
在以前的答案中描述的老派方式(警告:将放弃所有本地更改):
git reset --hard
  但实际上,值得注意的是, git merge --abort只相当于git reset --merge因为MERGE_HEAD存在。  这可以在合并命令的git帮助中读取。 
git merge --abort is equivalent to git reset --merge when MERGE_HEAD is present.
  合并失败后,当没有MERGE_HEAD ,失败的合并可以通过git reset --merge来取消,但不一定要用git merge --abort , 所以它们不仅是同一事物的新旧语法 。  这就是为什么我发现git reset --merge在日常工作中更有用。 
上一篇: Undo git pull, how to bring repos to old state
下一篇: What are the practical consequences of rewriting GIT history?
