2

我在 Windows 上运行 Cmder,同时尝试git log在父目录中的所有存储库上运行。

更新
我的外壳是 gitbash 版本1.9.4.msysgit.0

当我运行时:
find . -name ".git" -type d -maxdepth 2 -exec echo git --git-dir={} log ;

git --git-dir= log
git --git-dir= log
git --git-dir= log

exec 似乎没有从 find 中找到匹配项,但是当我在{}.

find . -name ".git" -type d -maxdepth 2 -exec echo git --git-dir= {} log ;

git --git-dir= ./repo1/.git log
git --git-dir= ./repo2/.git log
git --git-dir= ./repo3/.git log

知道为什么 -exec 不处理没有前导空格的参数吗?

4

1 回答 1

0

仍然不确定问题的根源是什么,但以下语法按预期工作。

find . -name ".git" -type d -maxdepth 2 -exec echo git --git-dir="{}" log ;

{}双引号括起来提供了我正在寻找的修复。

于 2015-10-26T14:42:53.487 回答