I want clean history, but that really means (a) clean and (b) history.

People can (and probably should) rebase their private trees (their own work). That’s a cleanup. But never other peoples code. That’s a “destroy history”

So the history part is fairly easy. There’s only one major rule, and one minor clarification:

  • You must never EVER destroy other peoples history. You must not rebase commits other people did.

[…]

If you are working with git together with other people, it’s worth a read.

  • wccrawford@discuss.online
    link
    fedilink
    arrow-up
    0
    ·
    14 days ago

    That sounds like pretty much exactly what we did at my last job, and it worked pretty well IMO. The individual commits in a PR didn’t ever matter. I don’t even think we used them for code review, except if it came up for review a second time after rework. In that case, we were able to just look at the new commit to see if the right changes were made.

    And we definitely avoided basing off each other’s branches. We had to do it a few times. The only times it went well was when the intent was to merge the child branch into the feature branch. If they were actually separate tickets (and the second relied on the first) it was generally chaotic. But sometimes, it was just necessary.