One of the most important skills of a Git user lies in their ability to maintain a clean, semantic public history of commits. In order to achieve this, they rely on four main tools: git commit --amend git merge, with or without --no-ff git rebase, especially git rebase -i and git rebase -p git ch...