有办法使git拉出自动更新子模块吗?

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

  • 回答 (2)
  • 关注 (0)
  • 查看 (68)

有没有办法自动拥有git submodule update(或最好git submodule update --init随时呼叫git pull完成了吗?

寻找一个git配置设置,或一个git别名来帮助这一点。

提问于
用户回答回答于

从Git 1.7.5开始,它应该按照您的要求自动更新子模块。

要更改此行为的配置选项为fetch.recurseSubmodules.

此选项可以设置为布尔值,也可以设置为on-demand. 将其设置为布尔值将更改fetchpull在设置为true时无条件地递归到子模块,或在设置为false时根本不递归。undefined当设置为on-demand(默认值),fetchpull只有在超级项目检索更新子模块引用的提交时,才会递归到已填充的子模块.

见:

  • git config手册页(1.7.5)(或最近)git config手册页)
  • git fetch手册页(1.7.5)(或最近)Git获取手册页)

想了解更多信息。

git fetch --recurse-submodules[=yes|on-demand|no]
用户回答回答于

git config --global alias.pullall '!git pull && git submodule update --init --recursive'

如果希望将参数传递给git拉,则使用以下命令:

git config --global alias.pullall '!f(){ git pull "$@" && git submodule update --init --recursive; }; f'

扫码关注云+社区