当 git 子模块引用的 repo 被删除时会发生什么?

What happens to a git submodule when its referenced repo is deleted?

假设我在 github 上找到了一个我想使用的有趣存储库,我将其添加为子模块,然后有一天存储库的所有者决定删除存储库,我的子模块会损坏吗?

你仍然有你已经获取的历史,通过子模块更新或获取,或者你想做的。您仍然可以从任何拥有它们的回购中获取这些历史记录,并将它们推送到任何地方,重要的是历史记录,而不是您或任何人将它们保存在哪个回购协议中。 .gitmodules 文件只是关于在哪里找到它们的注释;当上游删除他们的 repo 时,这些注释已经过时,但这就是为什么 git submodule initgit submodule update 是单独的命令:init 从 .gitmodules 中的注释加载你的 repo 配置,然后你可以更改它们喜欢。