如何从Git Pull Request中移除误提交的submodule引用?
移除误提交的Submodule引用文件操作指南
基础操作(仅移除当前及后续提交中的文件,不修改历史记录)
- 执行删除命令,根据是否需要保留本地文件二选一:
- 需保留本地
__submodule-name文件(仅从Git追踪列表移除):git rm --cached __submodule-name - 无需保留本地文件,直接同步删除本地文件和Git追踪记录:
git rm __submodule-name
- 需保留本地
- 检查根目录下的
.gitmodules文件,若存在对应__submodule-name的配置段,将该段内容删除 - 提交修改:
git commit -m "移除误提交的submodule引用 __submodule-name" - 推送到远程对应分支:
git push origin <你的目标分支名>
进阶操作(彻底清理所有历史提交中的该文件)
注意:该操作会修改所有涉及该文件的提交哈希,若目标分支已有其他协作者拉取过代码,需提前同步所有协作者,避免后续出现代码冲突
- 执行历史清理命令:
git filter-repo --path __submodule-name --invert-paths - 强制推送到远程分支:
git push origin <你的目标分支名> --force
内容的提问来源于stack exchange,提问作者Adam Jakś
相关产品推荐
相关产品推荐

