Find repos with unpushed commits using PowerShell

Want to format your hard drive to reinstall Windows? Make sure you have pushed all commits to the server using this online.

Run this PowerShell command in the root folder of your repositories. The cd .. at the end is to go back into the root folder so you can easily repeat the command.

C:\Repos> Get-ChildItem -Directory | Where-Object { Test-Path "$($_.FullName)\.git" } | ForEach-Object { Write-Host $($_.Name) ; Set-Location $($_.FullName); Invoke-Expression "git log --branches --not --remotes "}; cd ..

Aliases can be used to make this even shorter, like using gci instead of Get-ChildItem and iex for Invoke-Expression. But we don't need to fit this in a tweet. Short aliases are ok, but not every user know what they stand for, so I'm using the complete command for clarity.