Update Semua Repositori Git Dalam Satu Perintah

Saya biasanya bekerja dengan banyak repo pada waktu yang sama dan biasanya mengelompokkannya dalam direktori yang sama, dinamai menurut nama perusahaan.

Misal saya memiliki direktori yang bernama folder_repository_perusahaan dan satu direktori untuk setiap repo tempat saya bekerja. Contoh struktur folder dapat dilihat dibawah :

folder_repository_perusahaan
├── repository_project1
├── repository_project2
├── repository_project3
├── repository_project4
├── ...
└── repository_projectX

Untuk mengupdate satu repo biasanya kita bisa menggunakan perintah :

cd folder_repository_perusahaan

cd repository_project1

git pull

Namun terkadang kita ingin mengupdate semua repo dalam satu waktu. Dibawah ini saya akan mencontohkan bagaimana kita menjalankan perintah update semua repo di windows dan linux.

Windows PowerShell

PS D:\> cd folder_repository_perusahaan

PS D:\folder_repository_perusahaan> Get-ChildItem -Directory | foreach { Write-Host "n■ Getting latest for $_ ↓" -ForegroundColor Green | git -C $_.FullName pull }

atau

PS D:\folder_repository_perusahaan> Get-ChildItem -Directory | foreach { Write-Host "■ Getting latest for $_ ↓" -ForegroundColor Green | git -C $_.FullName pull --all --recurse-submodules --verbose }

Linux

$ cd folder_repository_perusahaan

$ find . -mindepth 1 -maxdepth 1 -type d -print -exec git -C {} pull \;