I'm currently having a discussion about "how to git" with a team I'm working with.

What I'm realizing is that a) I've always been super pragmatic (which is an euphemism for "super sloppy") with this and b) different people value very different things in a git history.

To me, for example, the local history of a pull request is super important and I very rarely amend a commit.

Some people in that company work very differently and basically work in one commit they frequently rebase.

I always tell people that a git history is a story you tell your future self. How many commits, the message style, squash vs rebase doesn't matter as long as you make sure you can answer the question: "Why has this change being made?"

If you ever tried to do a rails, ruby or any other larger dependency upgrade and try to reason why a change has been made 2 years after, you will thank yourself.

@tvdeyen I have one colleague having the same intentions and working the same way as me in that regard. We really enjoy reviewing each other's changes. And it's always nice hitting one of those commits later. Most other colleagues don't understand the effort because examining the git history is not their tool of choice.
This is a hen and egg problem: they don't compose useful commits because they don't use the history because the majority of our commits doesn't provide valuable insights.

@tvdeyen also crucial for git bisect to work!

And they’re not just for my future self, they’re for everyone who joins the team after I’ve left too.