https://stackoverflow.com/questions/2427238/what-is-the-difference-between-merge-squash-and-rebase