Is there still a need for non-linear Git histories in product development?
I've been thinking about the Git development workflow lately and the trend towards linear histories, where every pull request is fast-forwarded and based on a branch rebased onto the main branch. It seems like a clean and streamlined approach, but are there still valid use cases for allowing non-linear Git histories?
2 comments
[ 26.5 ms ] story [ 1344 ms ] threadI’ve heard some like the non-fast-forward approach because it preserves the historical state of the tree when a developer was writing something… Often the same people who don’t squash commits and merge 100 commit branches where 99 are a complete mess.
But to me, what matters is the actual change to main/master at the time the thing is merged — that is what affects the team.
If some people want to keep unsquashed, unrebased branches for archival purposes? Fine! But rebase before merging to main/master!