我尝试运行此命令:
git submodule --quiet foreach "echo $name"
获取所有子模块的名称,但不返回任何内容。在Linux中,它按预期工作。
我在Cygwin下使用Windows 7,git版本2.1.1。
答案 0 :(得分:3)
Cygwin意味着类似unix的环境。
正如您在其他git子模块中看到的foreach示例(例如" Bash: Git submodule foreach?"),所有这些命令都在foreach指令周围使用单引号(由Stefan Näwe评论)
示例中的thread do mention:
git submodules foreach 'git config -f $toplevel/.git/config submodule.$name.ignore all'
请注意单引号(双引号无法在msysgit bash shell中运行)
但正如我在" git submodule foreach - Robust way to recursively commit a child module first?"中提到的那样,使用git 1.9.0+(以及commit 1c4fb13),你也可以尝试而不用引号:
git submodule --quiet foreach echo $name
commented作为Stefan Näwe,您需要在任何git submodule update --init --recursive
指令之前先执行foreach
。