Jaa


Getting ancient remote branches in git

My project has 300+ remote branches for a 100-ish person team. That can't possibly be right.  Here's some powershell to detect super old branches so I can go annoy their owners about deleting them:

git branch -r | ?{ $_ -notlike "*/HEAD *" } | %{ git log $_.Trim() -n 1 --format=format:"%ct %d %h %an %ar" } | Sort-Object

The format is like:

1396576284  (origin/release) b3a96ad <name> 1 year, 1 month ago
1402418261  (origin/<alias>/Keyboard2) 83374b7 <name> 11 months ago
1402938550  (origin/<alias>/nopackages) 630cca0 <name> 11 months ago
1403027117  (origin/<alias>/SomeLongCompletedIntegration) ab7a735 <name> 11 months ago

Et voila, now I can find & zap branches with "git push origin --delete branchname"