“git submodule foreach”在Windows上不起作用

时间:2014-11-15 05:55:18

标签: git

我尝试运行此命令:

git submodule --quiet foreach "echo $name"

获取所有子模块的名称,但不返回任何内容。在Linux中,它按预期工作。

我在Cygwin下使用Windows 7,git版本2.1.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