答案 0 :(得分:3)
git remote update
命令将对给定存储库的所有远程执行fetch
操作:
$ git remote
larsks
origin
$ git remote update
Fetching origin
remote: Reusing existing pack: 1, done.
remote: Total 1 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (1/1), done.
From https://github.com/teythoon/afew
7317eb0..50db012 master -> origin/master
Fetching larsks
From github.com:larsks/afew
如果你想在git集合中自动运行它 存储库,你可以做这样的事情:
$ find * -maxdepth 1 -name .git -execdir git remote update \;
这会查找包含.git
目录的所有内容,然后在git remote update
目录的父目录中运行.git
。
要查找所有裸存储库,您可以执行以下操作:
$ find * -maxdepth 1 -name index -execdir git remote update \;
也就是说,查找index
文件而不是.git
目录。
如果要定位所有子模块,可以使用git submodule foreach
命令:
$ find * -maxdepth 1 -name .git -execdir \
git submodule foreach git remote update \;
如果您想将这一切组合成一个命令:
$ find * -maxdepth 1 -name .git -execdir \
sh -c 'git remote update; git submodule foreach git remote update' \;
答案 1 :(得分:2)
我相信你正在寻找--all
旗帜:
git fetch --all
基于对您链接的脚本的快速浏览,似乎该脚本将接受此标志并将其传递给每个存储库的git。
答案 2 :(得分:0)
git forward一次在任意数量的遥控器上提取,修剪和快进任意数量的跟踪分支。这对于一次关注许多遥控器/分支机构的集成商来说非常棒。