在 Git 中丢弃本地提交

问题描述

如果您的多余提交仅对您可见,您只需 git reset --hard origin/<branch_name> 移回原点即可。这会将存储库的状态重置为先前的提交,并将丢弃所有本地更改。

做一个git revert提交以保持每个人的历史理智的方式删除旧的提交。

解决方法

由于一些糟糕的挑选,我的本地 Git 存储库目前比原点提前 5 次提交,而且状态不佳。我想摆脱所有这些提交并重新开始。

显然,删除我的工作目录并重新克隆就可以了,但是再次从 GitHub 下载所有内容似乎有点过头了,而且没有很好地利用我的时间。

也许git revert是我需要的,但我不想在原点之前完成10次提交(甚至 6 次),即使它确实让代码本身回到了正确的状态。我只想假装最后半小时从未发生过。

有没有一个简单的命令可以做到这一点?这似乎是一个明显的用例,但我没有找到任何例子。


请注意,这个问题是专门关于commits的,而不是关于:

  • 未跟踪的文件
  • 未分阶段的变化
  • 分阶段但未提交的更改

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...