git branch (local branches)
git branch -r (remote branches)
git branch -a (local + remote branches)
git branch -v (verbose list)
git branch -vv (doubly verbose, shows which local branches are tracking remote branches)
git remote show origin
git remote prune origin
git push origin -d remote-branch-name
git branch -d branch-name
git branch -D branch-name (force delete)
git log
git log branch-name
git reflog
git status
git show commit-id
git show HEAD (last commit changes)
git show HEAD~1 (go back 1 extra commit)
Upstream branch is a remote branch hosted on Github or Bitbucket, it's the branch that is fetched pulled without arguments
git push --set-upstream origin upstream-branch-name
see that the reference is gone(pruned), and we have to manually tell the branch not to look at upstream anymore
git branch --unset-upstream
git revert commit
git reset --hard
git reset --mixed
git reset --soft
https://www.atlassian.com/git/tutorials/learn-git-with-bitbucket-cloud
git clean -f [filename | folder]