Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@thnk2wn
Created May 12, 2019 01:23
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save thnk2wn/32d64c4d35b8848fc9225c358cbc620c to your computer and use it in GitHub Desktop.
Save thnk2wn/32d64c4d35b8848fc9225c358cbc620c to your computer and use it in GitHub Desktop.
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