最初只需要git子模块更新?

我得到了一堆git子模块(一厢情愿的想法?),我提出了更具体的问题,这是一个好兆头......

我试图在.gitmodules.git/config找到超级项目引用的子模块的哪个版本,但是没有提到那里。
该场景是,我正在更改它们的根位置中的子模块(从中导入它们),然后将它们拉到“子模块”的位置。
除了从超级项目提交将这些更改合并到超级项目回购中,我是否还需要执行“ git update ”来注册新的子模块提交?

基本上问题是:

仅当我第一次克隆超级项目时,或者在每次拉动子模块(从它自己的回购)后,才需要“ git submodule update ”?

谢谢


正如我以前对git submodule update回答所述,该命令基于它们的.gitmodules文件.gitmodules项目的特定版本。

GitPro页面确实坚持:

这对于子模块来说很重要:您将它们记录为它们的确切提交。

您可以在“超级项目”(引用一个或多个子模块的那个)中看到哪个提交被引用:

  • git submodule status (除非直接在该子模块中执行了一些提交,否则在从超级项目中存储的SHA-1提前的任何子模块的HEADSHA-1的前面显示“ + ”)。要么
  • git ls-files --stage在模式“160000”中查找条目,这是Git索引中的一个特殊条目。
  • 这意味着,每次在“超级项目”中执行git命令(可能会修改该子模块提交SHA1)时,都需要“ git submodule update ”。

    仅当我第一次克隆超级项目时,或者在每次拉动子模块(从它自己的回购)后,才需要“git submodule update”?

    是的,每次在主项目中拉下子模块更改时都必须执行此操作。
    这是因为您正在引用子模块原始库存的确切提交(如上所述),并且在您取回该库时,您正在有效修改该提交。

    链接地址: http://www.djcxy.com/p/2691.html

    上一篇: git submodule update needed only initially?

    下一篇: Adding a GitHub repository in Xcode 7 using SSH authentication gives an authentication error