如何制作脚本来更新git子模块?

时间:2012-07-16 21:40:26

标签: git

我有一个添加了子模块的项目。事实上,我总是希望这些子模块与当前版本保持同步。我怎样才能总是告诉这些子模块查找最新的提交并与之同步?

2 个答案:

答案 0 :(得分:2)

git submodule foreach非常方便。

git submodule foreach git pull

这将在所有子模块中进行拉动(即获取/合并)。

答案 1 :(得分:0)

  

子模块,用于查找最新的提交并与

同步

Marcus Johansson的回答解释了如何使子模块达到各自的最新状态(如果你的主要项目是游戏,但它包含一个图形和逻辑库作为子模块,那么图形和逻辑库将是最新的)

如果您希望将子模块更新为主项目使用的最新版本(在我的示例中为“游戏”),则可以使用

git pull --recurse-submodules

更新主项目时也更新子模块。此外,您始终可以使用

git submodule update --init

将子模块更新为主项目的版本。

当您的主项目需要与库的版本保持同步时,这非常有用(如果更新库会更改其API,您只需要更新主要项目以便匹配)。

另见this answer