3 ms·
Squashing gets you in the habit of force pushing, and force pushing greatly increases the risk of clobbering someone's work. I've seen a lot more hours wasted o
by barrkel 6y ago
Squashing gets you in the habit of force pushing, and force pushing greatly increases the risk of clobbering someone's work. I've seen a lot more hours wasted on lost commits than I find credible to be wasted in slightly more verbose history.
Squashing also turns cherry picked commits into merge conflicts.
I'm not a fan. I can always go back to the feature PR and read the ticket details and diff commentary when I want the history with a full diff. And of course very old history isn't very relevant because less of it remains in the present, so rot of ancillary systems isn't a huge concern.
- Gaelan 6y agoI'm no squash fan either, but git very rarely actually clobbers data. (As long as it's been committed at some point, and wasn't just sitting in the working tree.) `git reflog` can get back pretty much anything, as long as it happened relatively recently.
- falcolas 6y agoUntil a garbage collection process trims those. You may control such on your local machine, but you don’t on the remote repo.
- Gaelan 6y agoThat’s why I said “as long as it happened relatively recently.” Of course, the commits in question should exist locally on someone’s machine, so we shouldn’t need to worry about what the remote does.
- reallydontask 6y agoMost people at my previous place did squash merge on pr completion and we cherry picked quite successfully, so I'd be interested to know how you get to: > Squashing also turns cherry picked commits into merge conflicts.