如何删除Git 子模块

Git Submodule 是一个 Git 存储库,作为另一个 Git 存储库中的子目录。

删除 Git 子模块的步骤:

这些步骤将从 git 存储库中清除子模块的所有文件。

  • .gitmodules文件中删除子模块部分(类似于以下)
[submodule "inc/sample-submodule-path"]
	path = inc/sample-submodule-path
	url = git@gitlab.one.com:project/inc/sample-submodule-path.git
  • 通过命令暂存更改:git add .gitmodules
  • 从文件中删除子模块部分:.git/config
[submodule "inc/sample-submodule-path"]
	path = inc/sample-submodule-path
	url = git@gitlab.one.com:project/inc/sample-submodule-path.git

.git 是隐藏的 git 文件夹。
如果文件夹不可见,请检查文件夹设置以显示它。

  • 运行命令:git rm --cached inc/sample-submodule-path

有时我们在添加子模块时遇到问题:“子模块已存在于索引中”。
上面的命令通过从缓存索引中删除子模块来修复它。
尝试用 rm -r递归删除。

  • 运行命令:rm -rf .git/modules/inc/sample-submodule-path

此命令将从 .git 中删除子模块文件夹

  • 使用命令提交更改:`git commit -m "Removed submodule""
  • 删除未跟踪的子模块文件:rm -rf inc/sample-submodule-path

如果我们能够运行以上命令,则子模块已成功删除。

日期:2020-09-17 00:10:43 来源:oir作者:oir