扔掉Git中的本地提交
由于一些糟糕的偷梁换柱行为,我的本地Git仓库目前比原点多了5个提交,而且状态不佳。我想去掉这些提交,重新开始。
显然,删除我的工作目录并重新克隆就可以了,但从GitHub上重新下载所有的东西似乎有些矫枉过正,也不太适合我的时间。
也许 "git revert "是我所需要的,但我不希望比原点提前10次提交(甚至6次),即使它确实让代码本身回到正确的状态。我只想假装过去半小时的事情没有发生。
有什么简单的命令可以做到这一点吗?这似乎是一个明显的用例,但我没有找到任何例子。
请注意,这个问题是专门关于commits的,不是的。
- 未跟踪的文件
- 未归档的修改
- 已归档但未提交的修改
1286
3
如果你的多余提交只对你自己可见,你可以只做
git reset --hard origin/
。 来移动到原点的位置。这将把版本库的状态重置为之前的提交,并且会丢弃所有本地的修改。做一个
git revert
使新的提交删除旧的提交,以保持每个人的历史正常。只需删除你的本地主分支,然后像这样重新创建它。
试试吧。
来重置你的头像到你想去的地方。使用gitk查看你想去的提交位置。你也可以在gitk中进行重置。