This is a note to myself for some useful/often used git commands.
git checkout -
git clean -fdn
git reset <commit>
git reset --soft HEAD~1
git rebase -i <commit>
git diff HEAD^1
git diff --staged
orgit diff --cached
git diff develop master
git log -p
git log --all --grep='keyword'
git remote prune origin
orgit fetch --prune
git rebase --autosquash
HEAD~1 means commit's first parent
HEAD^1 means commit's first parent
HEAD~2 means commit's first parent's first parent
HEAD^2 means commit's second parent