如何在windows上为多个repos git拉?

cgyqldqp  于 2022-11-18  发布在  Windows
关注(0)|答案(4)|浏览(198)

所以我有很多回购协议,有时候我会忘记是否有些回购协议已经过期了,所以我想知道是否有一种方法可以在一个.bat脚本中为每个回购协议进行git pull。我看到有人在Linux上做过,我相信是here,但我使用的是Windows机器。有人知道如何在Windows上做这个吗?

yr9zkbsy

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文件
如果你有你所有的存储库在那里,它不会是一个痛苦的记住同步他们所有。

kmbjn2e3

kmbjn2e32#

这是一个PowerShell版本

Get-ChildItem -Directory | foreach { Write-Host "`n■ Getting latest for $_ ↓" -ForegroundColor Green | git -C $_.FullName pull --all --recurse-submodules --verbose }
amrnrhlw

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 ..
umuewwlo

umuewwlo4#

如果你安装了Git和MinGW(bash),你可以并行执行这个命令:

ls -d **/* | xargs -P10 -I{} git -C {} pull

相关问题