Git is an extremely powerful and often elusive tool to learn. If you do read the
man pages, you often see garbage like this:
If <upstream> is not specified, the upstream configured in branch.<name>.remote and branch.<name>.merge options will be used (see git-config(1) for details) and the --fork-point option is assumed.
These pages will help you discover how to use git, learn the language that it uses to describe what it does, and alert to you some of the common pitfalls and problems that can occur. Elevate your knowledge of git from ‘I can add and push code’, to that of a version control Jedi.
cherry-pick- re-apply a commit
reset- undoing commits and merges
merge- simple merges, converge two branches of commits
rebase- apply local commits on top of another branch
rebase --interactive- change git history, tidy up commits
push --force-with-lease- rebasing safely, changing common history
logback x steps,
reflog- git log’s paranoid brother, fuck up recovery