The more you understand the inner workings of git, the more you realize all the people who pointed and laughed at GitHub for being a centralized place for everyone's git repos were right.

This is especially true now that GitHub has reached 0 nines of uptime.

I also don't like that everything became all about pull requests instead of commits. Nobody reads the commit messages these days. They might as well not be there.

If I wrote all my commit messages at work by rolling my face across the keyboard, not one person would notice.

#OldManYellsAtCloud #GetOffMyLawn

I say this because I write detailed commit messages. Then in code review, someone inevitably asks why I'm doing something a certain way. The answer to their question is invariably in one of the commit messages.

And then, because so many people like to squash-merge GitHub PRs because it "keeps the history clean", you run into the problem where `git blame` points at the squashed commit with the frankenstein message rather than the specific self-contained commit I made.

And since, as I mentioned above, nobody looks at the commits inside the PR, the context is effectively lost.

Squashed PR commits don't make your git history clean. It just gives you the illusion of clean. I get that merge commits are ugly, but so is the reality of your repo's history. It didn't arrive at its current state linearly, so don't sacrifice the history's usefulness in an effort to try to make it pretty.
@jamie Or, if you're Google, it also means much more work for whoever is working downstream with your code, like say... 3rd-party Android OS devs...