Hacker News new | past | comments | ask | show | jobs | submit login

I think merge is great, having a “unit” for a feature branch being integrated is nice and not all things can be done in commits which are individually justifiable. The ability to bisect cleanly through the first ancestor is precious.

I do agree that resolving conflicts in merges is risky though. It can make sense when merging just one way between permanent branch (e.g. a 1.x branch into a 2.x), but as soon as cross merges become a possibility it’s probably a mistake.




> I do agree that resolving conflicts in merges is risky though.

How do you do otherwise, though? Or is your workflow a combination of rebases and merges? Continual rebasing of the feature branch onto `main` and then a final merge commit when it's ready to go?


> Or is your workflow a combination of rebases and merges? Continual rebasing of the feature branch onto `main` and then a final merge commit when it's ready to go?

Yes. You don't usually need "continual" rebasing, most commonly just once just before merging.

In fact a good merge tool can do it for you (and refuse to merge if there are conflicts when rebasing).


This is what I do unless I’m working with a large number of people on the feature branch (which is rare, usually that would be multiple branches).

You get the equivalent of “mergeless” history (just restrict your git log to merge commits) but can dig into the individual feature histories easily.




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: