Git子模块同步命令-它是干什么用的?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (25)

我不明白git submodule sync。请解释一下。

提问于
用户回答回答于

Git在两个地方存储有关子模块的信息。第一个文件名为.gitmodules,它被签入到git存储库中。对该文件的更改将传播到其他存储库。

另一个地点在.git/config,在执行大多数命令时,git实际上就是在这里。

因此,假设在一个项目上工作了一段时间,有一个子模块名为foo。这个子模块的文件是从某个url中签出的,在哪里并不重要。然而,在某个时候,这个url会发生变化。它可能会发生变化,以便从不同的服务器、不同的路径或其他地方签出子模块。更新存储库时,是.gitmodules文件将被更新,但不会更新.git/config文件;仍然会从旧的url中签出。当想要从新的url中签出时,将运行git submodule sync复制新配置的步骤.gitmodules.git/config...。git不会自动完成这一操作,因为可能已经对配置进行了自己的更改,而且它也不想覆盖它们。

扫码关注云+社区