小编Uwe*_*att的帖子

git push --recurse-submodules=on-demand 并不是真正的递归

我有以下项目结构:

root-project
      |
      |-- A
      |   |
      |   |-- C
      |
      |-- B
Run Code Online (Sandbox Code Playgroud)

A 和 B 是根项目的子模块。C 又是项目 A 的子模块。假设我对项目 A、B 和 C 进行了更改,并将这些更改提交给相应的索引。之后,我更新根项目中对 A 和 B 的引用并提交该更改。当我使用选项 --recurse-submodules=on-demand 推送根项目的更改时,git 推送项目 A、B 和根项目的所有提交,但默默地忽略项目 C 的提交。我期望它也推动了项目 C 的变化。

我知道我可以通过在根项目文件夹中使用以下两个命令来解决这个问题。

git submodule foreach --recursive 'git push origin master'
git push
Run Code Online (Sandbox Code Playgroud)

有人可以澄清我是否做错了什么,或者这是否是 git-push 中的错误。我已经在 git 邮件列表上问过这个问题,但没有收到任何回复:http : //thread.gmane.org/ gmane.comp.version-control.git/266184

我还编写了一个小的 shell 脚本来设置所描述的项目结构并执行递归推送操作:https : //gist.github.com/usommerl/6e8defcba94bd4ba1438

版本 2.3.3

git git-submodules

6
推荐指数
1
解决办法
1782
查看次数

标签 统计

git ×1

git-submodules ×1