• jjjalljs@ttrpg.network
      link
      fedilink
      arrow-up
      5
      ·
      8 months ago

      …and? You squash so all your gross “isort” “forgot to commit this file” “WIP but I’m getting lunch” commits can be cleaned up into a single “Add endpoint to allow users to set their blah blah” comment with a nice extended description.

      You then rebase so you have a nice linear history with no weird merge commits hanging around.

      • cobra89@beehaw.org
        link
        fedilink
        arrow-up
        1
        ·
        7 months ago

        Okay honest question, when you merge a PR in GitHub and choose the squash commits box is that “rebasing”? Or is that just squashing? Because it seems that achieves the same thing you’re talking about.

        • jjjalljs@ttrpg.network
          link
          fedilink
          arrow-up
          3
          ·
          7 months ago

          There’s two options in the green button on a pr. One is squash and merge, the other is squash and rebase.

          Squashing makes one commit out of many. You should IMO always do this when putting your work on a shared branch

          Rebase takes your commit(s) and sticks them on the end.

          Merge does something else I don’t understand as well, and makes a merge commit.

          Also there was an earthquake in NYC when I was writing this. We may have angered the gods.

          • cobra89@beehaw.org
            link
            fedilink
            arrow-up
            1
            ·
            7 months ago

            Lmao I’m in the NYC area and my whole house shook. I’m right there with you. Thanks for the explanation!

      • GissaMittJobb@lemmy.ml
        link
        fedilink
        arrow-up
        1
        ·
        7 months ago

        You squash so all your gross “isort” “forgot to commit this file” “WIP but I’m getting lunch” commits can be cleaned up

        The next step on the Git-journey is to use interactive rebasing in order to never push these commits in the first place and maintain a clean history to be consumed by the code reviewer.

        Squashing is still nice in order to have a one-to-one relationship between commits on the main branch to pull requests merged, imo.