首页 > 解决方案 > 什么 git 命令会在不删除文件或创建更多分支的情况下撤消最近的提交?

问题描述

在我上次 git 提交期间,我不小心在一个核心文件夹中提交了数百个文件。

我不想丢失这些文件,但我不希望它们出现在我的仓库中。如何在保留文件的同时撤消最后一次 git 提交?

这是一个本地构建,在 git 推送之前,所以我不关心历史丢失,我更愿意以最简单的方式来做这件事,即如果我可以避免创建新的分支或从头部分离等,那么那将是首选。

标签: git

解决方案


在这个 stackoverflow 问题中描述了您需要做的第一件事:如何在 Git 中撤消最近的本地提交?

这是撤消将保存它们但未在您的计算机上提交的最后一次提交

$ git reset HEAD~

然后要从 git 中删除你不想要的文件,你应该使用git rm命令(我假设你想要 -r (递归)选项来删除整个目录

$ git rm -r <dir path>

之后,您应该在 git 中拥有上次提交的所有更改,但它不应该跟踪您意外添加的更改!

我还建议将此核心文件夹添加到您的 .gitignore 文件中


推荐阅读