【发布时间】:2014-08-05 02:15:21
【问题描述】:
所以我有很多回购,有时我会忘记是否有一些落后于他们的拉动,所以我想知道有一种方法可以在一个 .bat 脚本中为每个回购提供 git pull。我看到有人为 linux 做我相信here,但我在 Windows 机器上。有谁知道如何为 Windows 执行此操作?
【问题讨论】:
所以我有很多回购,有时我会忘记是否有一些落后于他们的拉动,所以我想知道有一种方法可以在一个 .bat 脚本中为每个回购提供 git pull。我看到有人为 linux 做我相信here,但我在 Windows 机器上。有谁知道如何为 Windows 执行此操作?
【问题讨论】:
这是一个 PowerShell 版本
Get-ChildItem -Directory | foreach { Write-Host "`n■ Getting latest for $_ ↓" -ForegroundColor Green | git -C $_.FullName pull --all --recurse-submodules --verbose }
【讨论】:
Git-Pull-All:stackoverflow.com/a/29806921/228160 Full gist -> gist.github.com/yzraeu/12b96c409ae7da29b1a41ddccec3a0c3
如果你安装了带有 MinGW (bash) 的 Git,你可以执行这个并行工作的命令。
ls -d **/* | xargs -P10 -I{} git -C {} pull
【讨论】:
我真的很喜欢 @eikooc 的回答 - 并希望它能够工作 - 但它在 Windows 10 上对我不起作用。
这是我的变体:
for /f %%f in ('dir /ad /b C:\Documents\GitRepos\') do cd /d C:\Documents\GitRepos\%%f & call git pull & cd ..
【讨论】:
您可以制作一个 .bat 文件,您可以在其中自己添加所有存储库
cd C:\path\to\git\repo
call git pull
cd C:\path\to\git\repo2
call git pull
或者让它通过 git repositories 运行整个目录
FOR /D %G in (C:\Documents\GitRepos\*) Do cd %G & call git pull & cd ..
有一个GUI客户端Github for windows而不是.bat文件
如果您的所有存储库都在其中,记住将它们全部同步不会很痛苦。
【讨论】: