有什么方法可以还原或撤消git pull,以便我的源/存储库可以恢复到执行git pull之前的旧状态?我要这样做是因为它合并了一些我不想这样做的文件,而只合并了其他剩余的文件。所以,我想找回那些文件,这可能吗?
编辑:我想撤消git merge进行澄清。看到一些答案后,我这样做了
git reflog
bb3139b... HEAD@{0}: pull : Fast forward
01b34fa... HEAD@{1}: clone: from ...name...
现在,我该怎么办?这样做git reset --hard
是OK?我不想再次搞砸,所以要求详细的步骤吗?
git reflog
将显示一切git所做的一切。人们担心git reset --hard [sha1 of something from reflog]
会恢复所示的所有内容reflog
,有时这不是目标,例如。您要还原从原始站点中提取的具有不良数据(发生情况)的主分支上的合并,并且在合并之后,您需要处理其他分支。reflog
将显示其他分支上的所有费用。但是git checkout master
并且git reset --hard [SH1 of commit on master branch just before merge]
将仅重置当前的主分支,从原点删除拉合并。
git reset --hard 01b34fa
在这种情况下,您可以完成将git reset --hard HEAD^
其重置为HEAD之前的一次提交。