This is collection of useful GIT commands I use in my day today work. Just posting here to keep as my own reference.
Revert changes made to your working copy:
git checkout .
Revert changes made to the index (i.e., that you have added):
Revert a change that you have committed, do this:
git revert ...
View commits not yet pushed to remote:
git log --branches --not --remotes
Not pushed most recent commit with branch name:
git log --branches --not --remotes --simplify-by-decoration --decorate --oneline
Difference between two branches:
git diff --stat --color master..branch
Here the order of branch name is merge-target..merge-source.
Create remote tracking branch:
git branch --track feature1 origin/my-remote-branch
Here git fetch/pull from feature1 branch will get the updates from my-remote-branch
Create new local branch from remote branch:
git branch --no-track feature2 origin/master
Push local branch to remote repository:
git push origing feature2
Checkout specific file from differrent branch:
git checkout remote/branch path/to/file