Run git gc on multiple repositories
本问题已经有最佳答案,请猛点这里访问。
我在
路径的深度不同,例如:
1 2 3 4 5 | /git/project/project1/module1.git /git/project/project1/module2.git /git/project/project2/dev/module1.git /git/library/libgit2.git /git/library/jquery/jquery.git |
如何在
我更喜欢使用shell脚本在存储库中迭代:如果该目录不是有效的git存储库,则不要运行
您可以尝试如下操作:
1 | find /git -name '*.git' -execdir sh -c 'cd {} && git gc' \; |
这将找到与
在某些系统(如osx)上,
1 2 | oldIFS=$IFS; IFS=$' '; for line in $(find /git -name '*.git'); do (echo $line; cd $line; git gc); done; IFS=$oldIFS |
由于msysgit的
我们必须编写一个for循环。
1 | for line in $(find /git -name '*.git'); do (cd $line && git gc); done |