• magic_lobster_party@kbin.run
    link
    fedilink
    arrow-up
    1
    ·
    2 months ago

    I think squashing is great and I would never want to go back. It helps ensuring:

    • All commits in main have useful messages. No more “fix pipeline errors”, “fix MR comments”, etc.
    • Ensures pipeline has been successful with all commits in main. No need to guess which commits will build and won’t build.
    • Easy to revert commits.
    • Eliminates incompressible history because someone had a bad day with git.
    • Encourages frequent commits. No need to ensure all commits are perfect and good in their own right. Commit when you want to commit even if it’s incomplete work.

    And IMO, if your work warrants multiple commits, then it probably also warrants multiple merge requests. Merge requests should be rather small to make it easier to review.

    Edit: another good thing is that when we decide to release, we can easily look through the commit history for a change log. No more sifting through minor fixes commits.