Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
param([string]$checkoutBranch = "develop")
function Get-AllRepos ([string]$checkoutBranch = "develop")
Get-ChildItem -Recurse -Depth 2 -Force |
Where-Object { $_.Mode -match "h" -and $_.FullName -like "*\.git" } |
ForEach-Object {
$dir = Get-Item (Join-Path $_.FullName "../")
pushd $dir
if ($checkoutBranch) {
$branch= &git rev-parse --abbrev-ref HEAD
if ($branch -ne $checkoutBranch) {
"Checkout out $($checkoutBranch) branch for $($dir.Name)"
git checkout $checkoutBranch
"Pulling $($dir.Name)"
git pull -p
Get-AllRepos $checkoutBranch
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment