https://medium.com/@mariolovenot/an-article-on-got-rebase-git-revert-and-git-cherry-pick-560cebaed70a