Clean git histories are fun for the people who care, but they are also mostly useless.
I’ve been around a lot of arguments about the commit standards in teams and it’s always boiled down to the “I don’t care, but I don’t want to spend time doing anything special” people vs the “do the things the way I like because I can think of three reasons it’s technically superior but not practically useful to do so” people.
A great gain from a systematic approach of creating clean history is a better understanding and higher discoverability of issues.
Looking into change history is rare. But designing your changes, being deliberate, structured allows for easier and safer reviews and merges. And spotting issues early is always cheaper and better.
It also helps tremendously in determining what changed between versions. And when necessary finding and reverting regressions.
Cleaning up your history before making a PR can make it easier to review so I always try to do that, but it’s not something that should be over done because it can quickly eat up more time than its worth if you go overboard
To a degree, if pull requests are small enough, then yes.
Often, a changeset includes different aspects and concerns though, and individual commit messages allow you to document and reason them. Squashing makes you lose the concern separation.
When reviewing, even relatively simple changes separated into their concerns helps me a lot.
It’s a matter of preference and necessity, and the changeset and it’s environment at hand.
do the things the way I like because I can think of three reasons it’s technically superior but not practically useful to do so" people.
Camp I was talking about. You’ve your reasons, you’ll bikeshed about it for months and no one gets anywhere and no one is happy aside from the people that enjoy the arguments
Clean git histories are fun for the people who care, but they are also mostly useless.
I’ve been around a lot of arguments about the commit standards in teams and it’s always boiled down to the “I don’t care, but I don’t want to spend time doing anything special” people vs the “do the things the way I like because I can think of three reasons it’s technically superior but not practically useful to do so” people.
Bikeshedding at its finest
A great gain from a systematic approach of creating clean history is a better understanding and higher discoverability of issues.
Looking into change history is rare. But designing your changes, being deliberate, structured allows for easier and safer reviews and merges. And spotting issues early is always cheaper and better.
It also helps tremendously in determining what changed between versions. And when necessary finding and reverting regressions.
Cleaning up your history before making a PR can make it easier to review so I always try to do that, but it’s not something that should be over done because it can quickly eat up more time than its worth if you go overboard
Doesn’t squashing on merge achieve exactly the same thing? (As long as pull requests are kept small, of course.)
To a degree, if pull requests are small enough, then yes.
Often, a changeset includes different aspects and concerns though, and individual commit messages allow you to document and reason them. Squashing makes you lose the concern separation.
When reviewing, even relatively simple changes separated into their concerns helps me a lot.
It’s a matter of preference and necessity, and the changeset and it’s environment at hand.
Yes, this is the
Camp I was talking about. You’ve your reasons, you’ll bikeshed about it for months and no one gets anywhere and no one is happy aside from the people that enjoy the arguments