I basically only use git merge
like Theo from T3 stack. git rebase
rewrites your commit history, so I feel there’s too much risk to rewriting something you didn’t intend to. With merge
, every commit is a real state the code was in.
I basically only use git merge
like Theo from T3 stack. git rebase
rewrites your commit history, so I feel there’s too much risk to rewriting something you didn’t intend to. With merge
, every commit is a real state the code was in.
That’s what I do as well. Where I work, it’s common to have branches that take long to be ready for merge (because of bureaucracy), but because of many teams working on the same app, the upstream branch changes quite often.
I see some coworkers make just a few changes and a lot of times reverting stuff so the diff might be 1 line in the end, but the commit history is a mess of 30 commits of merges, triggering pipelines and undone stuff that was discarded later.
Then sometimes they have to find where they changed something they broke their feature and it’s a hell time to find what commit actually has any relevance for the final result.