代码之家  ›  专栏  ›  技术社区  ›  Christopher Griffith

与子模块关联的提交引用何时在其包含的超级项目中更新?

  •  1
  • Christopher Griffith  · 技术社区  · 8 年前

    阅读Git文档(特别是本页以及相关的命令参考页): https://git-scm.com/book/en/v2/Git-Tools-Submodules )正如“git diff——cached SomeSubModule”所报告的那样,我仍然觉得有点不清楚子模块的关联SHA是在什么时候更新的,因为文本对此主题不是很明确。

    似乎暗示的是,当子模块中当前签出的提交发生更改(例如通过“git子模块更新-远程”)时,引用会更新,然后在超级项目中进行提交以反映此更改。然而,我想验证一下这是正确的还是我误解了。

    1 回复  |  直到 8 年前
        1
  •  1
  •   VonC    8 年前

    当子模块中当前签出的提交更改时,引用将更新

    是的,但不仅仅是在 git submodule update --remote .
    如果在子模块中进行了任何提交(或获取),则会发生变化。

    然后在超级项目中进行提交以反映这种变化

    更准确地说,添加并提交一个已更改的元素,该元素是 gitlink ( special entry in the main repo index
    您还可以从父repo更新该gitlink:see“ Git Submodule has a wrong reference to its remote repository ".