未跟踪 git 个子模块

Untracked git submodules

对于我的一个项目,我决定使用子模块。
他们很乐意将不同的应用程序插件保存在单独的回购协议中,但我有一个问题。
任何时候我在子模块中有未提交的更改时,我都无法对主存储库执行任何操作,它会跟踪子模块以及我尝试提交或我必须在丢失所有子模块更改或先提交它们之间做出选择的任何事情。

在主仓库上工作是一个巨大的痛苦,因为子模块一直在阻碍。当我在主仓库中隐藏或更改任何内容时,由于主仓库删除了它们,我丢失了很多次子模块中的更改。

所以我的问题是,有没有办法告诉 git 只克隆一个子存储库,然后完全忽略它?

I have to choose between loosing all my submodule changes or commit them first.

您应该能够添加和提交,同时忽略您的子模块:

submodule.<name>.ignore

Defines under what circumstances "git status" and the diff family show a submodule as modified.
When set to "all", it will never be considered modified (but it will nonetheless show up in the output of status and commit when it has been staged).