Q:

how to track changes before commiting in git

Is there a way to view the diff's of my current working state with the last previous commit, so I can compare the difference first before doing a commit.  I want to see it in a very easy visual state.  Just like seeing a commit in github, where you basically just see all the differences.  Any idea on how to do this easily? 

A:

Sure, you can do one of the following.  Before doing git add:
git diff

or after git add:
git diff --cached

