Skip to content

Instantly share code, notes, and snippets.

Embed
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
popd
}
}
Get-AllRepos $checkoutBranch
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.