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.

  • tatterdemalion@programming.dev
    link
    fedilink
    arrow-up
    1
    ·
    25 days ago

    There are CI tools like Prow and Tide which make it possible to use squash by default while still giving control to developers who want to use a different merge strategy.