For Bash

First of all it turns all git commands and aliases to top level commands which saves you from typing git all the time.

It has bash completion built-in.

It has a nice customizable prompt that allows you to display any relevant information you need about your repository.

Installing it is very easy. Open the terminal and type:

To activate it type git sh and cd into your repository (if it's not your working directory yet).

For Powershell

Posh-Git takes a different approach. It only customizes the prompt. However, it provides almost anything that git-sh provides besides turning the git commands and aliases to top level commands and there seems to be a discussion to do just that.