• Len@aus.social
    link
    fedilink
    arrow-up
    7
    ·
    2 个月前

    @codeinabox I’ve got one to ask if I’m sure when I’m committing to anything called master or main. Helps prevent working in the wrong branch.

    I don’t need to only catch that at the push stage and then have to rebase 🤷🏻‍♂️

    • Vulwsztyn
      link
      fedilink
      arrow-up
      4
      arrow-down
      1
      ·
      2 个月前

      you don’t have to rebase.

      create a new branch from main

      push it

      go to main

      git reset --hard origin/main

      • Len@aus.social
        link
        fedilink
        arrow-up
        4
        ·
        2 个月前

        @Vulwsztyn yeah, “there are multiple ways to fix a mistake” is not the point, dude!

        Besides which, yes I do have to rebase if I already have a topic branch for what I’m working on, and didn’t pay attention to which branch I’m on.

        I almost never want to commit to the main branch, only merge from a topic branch. So that means that having confirmation before committing to it is useful.

        • JackbyDev
          link
          fedilink
          English
          arrow-up
          2
          arrow-down
          1
          ·
          2 个月前
          git switch -c blah
          git push -u origin blah
          git switch main
          git reset --hard origin/main
          
          • Len@aus.social
            link
            fedilink
            arrow-up
            1
            ·
            edit-2
            2 个月前

            @JackbyDev yes, friend, you too have entirely missed the point.

            I have my branch displayed in my shell, but mistakes happen. And a pre-commit hook that checks what branch I’m on is an excellent way to avoid those mistakes.

            I already have a topic branch, likely with a half a dozen odd commits in, which I intended to make my changes in. The hook avoids a mistake made on the one branch I know I pretty much never want to commit to directly.

            Yes, I could continue making commits to the wrong branch, and then fix my mistake later. That’s noooot the point! I want to commit to the right branch in the first place. Yes, I’m going to need to rebase eventually before I push and put up a merge request - also not the point. The point of the topic branch is that all my work in progress commits are there, I can see the history of what I’ve tried that has and hasn’t worked, and then eventually clean it up with a rebase before actual submission.

            All the work neds to go in the topic branch, always, and it already exists because I opened it as soon as I started work on that ticket.

            • JackbyDev
              link
              fedilink
              English
              arrow-up
              2
              ·
              2 个月前

              I’m confused how this even happens. You switch to dev and then choose to keep working on your ticket, but your previous work isn’t there, so how do you keep progressing? I can see this as an edge case, but it happens to you often enough that a pre commit hook is useful to stop it?

              To be clear, I don’t care what you do, if it works, it works, I just am having a difficult time understanding how this particular scenario happened enough that a pre commit hook was the best way to solve it.

              • Len@aus.social
                link
                fedilink
                arrow-up
                1
                ·
                2 个月前

                @JackbyDev well, it doesn’t happen very frequently, it’s more of a nice-to have.

                It’s more of an issue because our product has a lot of totally separate sections, as well as a separate companion app. It’s easy enough to work on an issue without ever touching code affected by another, and for whatever reason have two or three issues in progress, each in their own branch.

                Say, some task you’re blocked on, in the meantime some minor issue from five years ago that nobody really cares about that much but would be nice, and then some other unrelated cleanup task as well.

                But, even when I used to work at a place where there was only one single-purpose app, I still worked in topic branches and never ever wanted to actually commit to main (through the mistake was less likely to happen, I grant).

    • JackbyDev
      link
      fedilink
      English
      arrow-up
      2
      ·
      2 个月前

      Actually rebasing before pushing is the best time to do so, so a pre-push hook seems great. You can also have your branch displayed in your shell which would help avoid this.