Итак, у меня много репозиториев, и иногда я забываю, что некоторые из них отстают на своих тягах, поэтому мне было интересно, есть ли способ git тянуть за каждое репо в одном .bat script. Я видел, как кто-то делает это для Linux, я верю здесь, но я нахожусь на машине с Windows. Кто-нибудь знает, как это сделать для Windows?
Как git тянуть за несколько репозиториев в окнах?
Ответ 1
Вы можете создать файл .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 ..
Вместо .bat файла есть GUI-клиент Github для окон
Если у вас есть все ваши репозитории, вам не составит большого труда синхронизировать их.
Ответ 2
Вот версия PowerShell
Get-ChildItem -Directory | foreach { Write-Host "'n■ Getting latest for $_ ↓" | git -C $_.FullName pull --all --recurse-submodules --verbose }
Ответ 3
Мне очень понравился ответ @eikooc - и он хотел, чтобы он работал, но это не сработает для меня в Windows 10.
Вот моя вариация:
for /f %%f in ('dir /ad /b C:\Documents\GitRepos\') do cd /d C:\Documents\GitRepos\%%f & call git pull & cd ..