
ALT panel 1: there are 3 options for combining branches * merge * rebase * squash for example, let's say we're combining these 2 branches: (hard to describe diagram panel 2: diagram with the results of git rebase / git merge / git merge --squash panel 3: all 3 methods result in the EXACT SAME FILES some differences are: * the diff git shows you for the final commit * the specific flavour of suffering the method causes panel 4: merge pro: if you mess something up, the original commits are still in your branch's history pain: when I look at histories like this I feel dread (picture of a git history with a lot of merges) panel 5: rebase pro: you can keep your git history simple: (diagram for a git history that's a line) pain: harder to learn, harder to undo, easier to mess up (I love rebase though!) panel 6: rebase pro: have 20 messy commits? nobody needs to know! And it's pretty simple to use. pain: "ugh, someone squashed their 3000-line branch into 1 commit"


















