所以我有很多回购协议,有时候我会忘记是否有些回购协议已经过期了,所以我想知道是否有一种方法可以在一个.bat脚本中为每个回购协议进行git pull。我看到有人在Linux上做过,我相信是here,但我使用的是Windows机器。有人知道如何在Windows上做这个吗?
yr9zkbsy1#
您可以创建一个.bat文件,在其中自己添加所有的存储库。
cd C:\path\to\git\repo call git pull cd C:\path\to\git\repo2 call git pull
或者让它运行整个目录与git仓库
FOR /D %G in (C:\Documents\GitRepos\*) Do cd %G & call git pull & cd ..
GUI客户端Github for windows代替了.bat文件如果你有你所有的存储库在那里,它不会是一个痛苦的记住同步他们所有。
kmbjn2e32#
这是一个PowerShell版本
Get-ChildItem -Directory | foreach { Write-Host "`n■ Getting latest for $_ ↓" -ForegroundColor Green | git -C $_.FullName pull --all --recurse-submodules --verbose }
amrnrhlw3#
我真的很喜欢@eikooc的答案-'也希望它能起作用--但在Windows 10上它对我不起作用。以下是我的变体:
for /f %%f in ('dir /ad /b C:\Documents\GitRepos\') do cd /d C:\Documents\GitRepos\%%f & call git pull & cd ..
umuewwlo4#
如果你安装了Git和MinGW(bash),你可以并行执行这个命令:
ls -d **/* | xargs -P10 -I{} git -C {} pull
4条答案
按热度按时间yr9zkbsy1#
您可以创建一个.bat文件,在其中自己添加所有的存储库。
或者让它运行整个目录与git仓库
GUI客户端Github for windows代替了.bat文件
如果你有你所有的存储库在那里,它不会是一个痛苦的记住同步他们所有。
kmbjn2e32#
这是一个PowerShell版本
amrnrhlw3#
我真的很喜欢@eikooc的答案-'也希望它能起作用--但在Windows 10上它对我不起作用。
以下是我的变体:
umuewwlo4#
如果你安装了Git和MinGW(bash),你可以并行执行这个命令: