There’s an overwhelming amount of git tools, and if you’re coming from SVN you might expect that the tools w/ the same names work the same way. You’d be wrong.

Because of Git’s distributed nature, you can (and frequently do) have commits in your repo that you might not have pushed up. You might also have forgotten what they were. Good thing there’s a tool to check that.

Lets assume you’re on your master branch, and you’re comparing against the origin remote repo.

git whatchanged -p origin/master..HEAD

That’ll give you a nice text diff of everything you’re about to push. Awesome, right?