我正在尝试创建一个私人单一存储库,其中包含具有公共 git 的子包。我绝不打算修改 mono-repo 之外的代码,因此我不需要子模块。事实上,它们正是我不惜一切代价试图避免的事情。
我不想删除我的 mono-repo 中任何软件包的 .gits,也不想做任何花哨的事情。
如何简单地禁用 git 中的子模块功能?
我不希望任何东西被视为子模块。从来没有,也可能永远不会。
我尝试在 git 中搜索一些 .submodule 文件夹或其他内容。我没有找到。似乎没有设置可以摆脱这些东西。
我找到了这个链接:un-submodule a git submodule
不幸的是,这些解决方案都与展平子模块有关,并且它们都没有涵盖完全禁用该功能的方法。
Git 没有禁用子模块的功能。它们被认为是核心功能的一部分,而 Git 没有选项来禁用这样的核心功能。添加这样的功能的可能性极小。
如果你不希望你的子仓库被意外地作为子模块签入,你可以忽略它们,在这种情况下,Git 不会签入它们。如果它们已经签入,你可以运行
git rm --cached DIRECTORY
每个子模块,然后删除 .gitmodules
文件,然后将它们添加到 .gitignore
。
以前曾问过类似的问题,您可能会发现回复很有帮助。 这是链接。