Showing git and mercurial repository information in PowerShell
June 9, 2011
This post was originally published in the Rambling Labs Blog on June 9, 2011.
A while ago, I started getting a little annoyed when pushing my changes. It wasn’t until *then *that I realized that I forgot to add a yet untracked file to the repository or that I was in the wrong branch.
I made a quick Google search and found that I wasn’t the only one with this problem, and that there are some pretty cool solutions out there.
Both posh-git and posh-hg provide a quick inline summary with the current branch name and the number of untracked files, added files, removed files, modified files, etc.
** **First of all, make sure you run “Set-ExecutionPolicy” followed by “Unrestricted” in the PowerShell console . This is because PowerShell doesn’t run scripts by default (you could read further about it here).
Also make sure that git and hg are in the PATH.
To enable posh-git, just open a PowerShell console and run the “install.ps1” file downloaded with the posh-git package. You should now find some files in the “$HOME$\Documents\WindowsPowershell” folder ($HOME$ is usually the C:\Users\YourUserName).
To enable posh-hg, copy the files to the just opened WindowsPowershell folder and open the profile.ps1 file to add the following line:
Then, restart PowerShell, go to a git or hg repository in your local machine with it, and you will get something like this:
Isn’t that cool?