关于Git:如何撤消上一次提交 git How to undo last commit 本问题已经有最佳答案,请猛点这里访问。 我做了以下评论 123git add /file1/path git rm /file/path git commit -m"message" 如何使用git撤消上一次提交?好像我不想把那些文件交给别人。 相关讨论 在经过2秒的搜索后,你得到了答案…;-)stackoverflow.com/a/927386/1266697 我对这些问题和答案不满意。他们常常很含糊。用户是否只想撤销git commit(并且不修改工作树?)或者他们也希望恢复工作树? 如果您喜欢这种格式,请在视频的5分钟内解释:youtube.com/watch?V=EG2XT JOPFI&T=2秒 警告:如果已经推过,请不要这样做你想做的事: 1git reset HEAD~ 如果你不想改变,把一切都吹走: 1git reset --hard HEAD~ 相关讨论 如果你已经推了,不要这样做 恢复提交(使用git扩展)编码问题的简单方法。com/2017/03/… @阿诺德罗为什么?你能扩大吗? 请编辑你的答案,你只是花了我很多文件。我以为你是想在建立一个新的存储库时删除所有的Git…真的。 我确实对Git缺乏了解,但经常使用它。我怀疑我是第一个,对于像我这样的白痴,答案上应该有一个警告。我只想重置git,而不想丢失我的目录(我以前没有提交来检索)。 不起作用 @绿色:只有一次提交时会发生错误。在这种情况下,对.git目录进行rm-rf并从头开始创建新的存储库就更容易了。 "如果你已经推过了就不要这样做"-为什么不?如果你不解释意图,这样的评论会导致疯狂的教条。 @法拉普然后吉特恢复是这样做的方式。参见[stackoverflow.com/questions/22682870/… @但是效果不同。这会在顶部添加一个新的提交,而不是删除一个旧的提交。这并不能解释为什么删除已经推送的提交是不好的。 @Pharap正确。当您不是唯一的参与者时,删除已经推送的提交是错误的。其他人——或者服务/bot/script——可能已经看到了提交。在推送了一些更改之后,其他人可能已经"使用"了这些更改。当您添加一个新的提交恢复时,每个人都会理解,这是以后的更改。 @但是如果提交已经在远程存储库中,那么您的推送将失败,您需要先拉,对吗? @这取决于您的远程服务器和用户权限。很多人允许推-f #别用这个,你会把所有东西都弄松的 关于GitBash:如何撤消Git中最近的本地提交? 关于Git:Git - Undo推送提交 关于git:如何修改现有的未提交的提交? 关于版本控制:如何在提交前撤消"git add"? 只提交Git中文件的一部分 关于版本控制:如何强制"git pull"覆盖本地文件? 将最新提交移动到带有Git的新分支 如何在本地和远程删除Git分支? 撤消尚未推送的Git合并 关于vim:如何让Git使用我选择的编辑器进行提交? 关于Git签出:如何将Git存储库恢复为以前的提交