我刚刚从github上拉取了代码,但是我错误地将错误的github仓库拉到了我的项目中。请问如何撤销这个操作?
谢谢!
一个实现这个目标的方法是
$ git reset --hard latest-good-commit-hash
使用git log --all
(或更直观的方式,使用gitk --all
)来查看提交历史记录。
git reflog
。Reflog可以撤消几乎任何操作。
类似这样的内容。git reset --hard HEAD@{1}
然而,如果您的工作副本不干净,它将擦除所有更改,请注意。
git reset --hard HEAD^
这个命令将重置你的分支到上一次提交,也就是撤销合并提交之前的提交。你的工作将不会受影响。
请记住,所有已提交的内容仍然存在于松散的对象中,你可以随时使用git reflog来还原到HEAD指向的任何版本之前的版本。这就是为什么使用git经常进行提交非常重要,因为你可以轻松地撤消所有已完成的更改。
git reset --hard _某个本地提交_
的答案看起来让你的存储库看起来不错,但是会将错误远程存储库中的所有提交留在您的本地存储库中,因此没有一个是完全的“撤消”。 git gc 不会删除错误的提交,因为它们在您的 reflog 中(因为您最近引用了它们)。我认为它们最终会过期,但如果您想立即杀死它们,则需要进行更深入的手术。 - skierpage