• CMahaff@lemmy.world
    link
    fedilink
    English
    arrow-up
    5
    ·
    2 days ago

    It obviously depends on your exact git workflow, but my last team had things setup so that the code content of a MR was automatically squashed on merge, and the text if the MR itself was automatically set as the content of the new singular git commit.

    This was largely the best of both worlds because your commits could have almost any text, and the description of what changed could be updated as needed when making the MR. But it ultimately ended up in the git history where it belonged.

    Of course, I still had some trouble trying to get the team to describe their changes well in the MR at times - but that’s a different problem entirely.

    • zygo_histo_morpheus@programming.dev
      link
      fedilink
      arrow-up
      2
      ·
      1 day ago

      Always squashing is a bit much for my taste, sometimes the individual commits have interesting information! Text from the MR in the merge commit is great though, maybe I should see if we can set that up with gitlab and propose that we start doing that at work.

      • Kissaki@programming.dev
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        1 day ago

        I’m fine with squash merges for one commit. But otherwise, I consider structuring changes into commits structure too.

        My team merges with merge commits which hold the MR description as a commit description, and MR title as commit title.

        Individual commits are retained and can describe individual changes, while the MR and merge commit describe the whole changeset.

        It’s a very interactive-rebase-heavy workflow (for commit cleanups/structuring when changes are added in review), but it works very well for us.