git - 什么 git 命令会在不删除文件或创建更多分支的情况下撤消最近的提交?
问题描述
在我上次 git 提交期间,我不小心在一个核心文件夹中提交了数百个文件。
我不想丢失这些文件,但我不希望它们出现在我的仓库中。如何在保留文件的同时撤消最后一次 git 提交?
这是一个本地构建,在 git 推送之前,所以我不关心历史丢失,我更愿意以最简单的方式来做这件事,即如果我可以避免创建新的分支或从头部分离等,那么那将是首选。
解决方案
在这个 stackoverflow 问题中描述了您需要做的第一件事:如何在 Git 中撤消最近的本地提交?
这是撤消将保存它们但未在您的计算机上提交的最后一次提交
$ git reset HEAD~
然后要从 git 中删除你不想要的文件,你应该使用git rm
命令(我假设你想要 -r (递归)选项来删除整个目录
$ git rm -r <dir path>
之后,您应该在 git 中拥有上次提交的所有更改,但它不应该跟踪您意外添加的更改!
我还建议将此核心文件夹添加到您的 .gitignore 文件中
推荐阅读
- google-chrome - 渐进式 Web 应用程序何时更新其清单文件的更改?
- react-native - 是否可以直接在我们的类或函数中操作和更新存储数据而无需调度操作?
- google-cloud-storage - gsutil 可以创建加速 gcsfuse 所需的伪目录条目吗?
- python - 当我尝试使用 django-newsletter 时,尝试根据文档安装时出错
- angular - 如何使用指令启用角度 4 中的禁用按钮
- python - 我在我的公司服务器上托管 iis 上部署了烧瓶。我进行了配置,但我在发布请求时遇到了问题
- java - 如何在 Java 中快速将大型 JSON 文件读取到 ArrayLists
- javafx - JavaFX - 如何使用鼠标单击事件切换到另一个选项卡
- java - openjdk中如何生成java_lang_StrictMath.h
- angular - 具有缓冲功能的角树网格