• expr@piefed.social
    link
    fedilink
    English
    arrow-up
    1
    ·
    5 hours ago

    You don’t share feature branches. So you always know precisely what is shared history: the commit you branched from.

    The workflow is branch from shared history, rebase your branch as many times as necessary during development to craft a quality history, then merge back.

    I rebase dozens of times a day and have never had a single issue with it.

    If you’re bothered by repetitive merge conflicts (which, in my experience, are quite rare if you’re doing things correctly), that’s what git rerere is for.

    Rebasing is for crafting a quality history of your own commits (or getting your branch up to date with the trunk). Merging is for integrating your commits with the shared history.