git - 'git 子模块更新 --init --recursive' VS 'git submodule foreach --recursive git submodule update --init'

标签 git git-submodules

我有一个包含嵌套子模块的 git 仓库。下面两个命令有什么区别?

git submodule update --init --recursive

git submodule foreach --recursive git submodule update --init

最佳答案

git submodule update --init --recursive

子模块 update 命令将递归到已注册的子模块,更新和初始化(如果需要)它们以及其中的任何嵌套子模块。

git submodule foreach --recursive git submodule update --init

foreach 将评估每个 checkout 的子模块中的命令。因此,由于 --recursive,它将更新和初始化(如果需要)每个子模块和其中的任何嵌套子模块。

所以最终,这两个命令将实现相同的目的。 只是执行不同,第一个命令不会进入每个目录执行命令。

关于git - 'git 子模块更新 --init --recursive' VS 'git submodule foreach --recursive git submodule update --init',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24057871/

相关文章:

git - 仅推送 SourceTree 中的当前分支

Git push : Missing or invalid credentials.致命: 'https://github.com/username/repo.git'身份验证失败

git - git可以 merge 两个文件而忽略它们的共同祖先吗

git - 使用子模块镜像 git 存储库

git - 如何在不检查的情况下更新 git 子模块

git - 是否可以撤消 `git checkout -- .` 以检索未暂存的更改

git - 对存储库的远程匿名访问被拒绝?

git - 如何将一个 git repo 的构建输出集成到另一个

git - 在一个命令中添加具有特定标记而不是分支的子模块

git - 我对 git 子模块的依赖程度如何?