• BeigeAgenda@lemmy.ca
      link
      fedilink
      arrow-up
      7
      ·
      1 year ago

      Sometimes there’s no other option when someone merged develop into master just before a critical bug was found.

      • F04118F@feddit.nl
        link
        fedilink
        arrow-up
        7
        ·
        1 year ago

        You can always revert (i.e. undo in a new commit) the faulty commit. That will keep the history. This meme is not just about pushing straight to master, it’s about push --force which overwrites the remote branch completely, changing history.

        • jcg@halubilo.social
          link
          fedilink
          arrow-up
          3
          ·
          1 year ago

          What happens when you want to merge again? Won’t it say already up to date or something cause the commits are already there?

          • Hexarei@programming.dev
            link
            fedilink
            arrow-up
            5
            ·
            1 year ago

            Revert doesn’t just move head back, it creates reversal commits. As such, merging again can happen since the changes are present and require a merge commit

          • Gecko@lemmy.world
            link
            fedilink
            English
            arrow-up
            1
            ·
            1 year ago

            You could just rebase your develop branch to a commit before the merge and have a different commit history, or actually do it properly and have squash merges.

            • Double_A@discuss.tchncs.de
              link
              fedilink
              English
              arrow-up
              1
              ·
              1 year ago

              do it properly and have squash merges

              If you have big features that deletes a lot of maybe important commit history.

        • BeigeAgenda@lemmy.ca
          link
          fedilink
          arrow-up
          4
          arrow-down
          1
          ·
          1 year ago

          Sometimes there’s only the nuclear option left, I have only done it a few times, someone merged a major refactoring and we ended up reverting by changing history.

          I have also observed that when you revert with git revert and then merge back some time later git can get confused about if a commit was merged or not.

          Mind you we didn’t use git flow or other smart processes to our own regret.