• @[email protected]
    link
    fedilink
    611 months 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.

    • @jcgA
      link
      311 months 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?

      • @[email protected]
        link
        fedilink
        511 months 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

      • @[email protected]
        link
        fedilink
        English
        111 months 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.

        • @[email protected]
          link
          fedilink
          English
          111 months ago

          do it properly and have squash merges

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

    • @[email protected]
      link
      fedilink
      311 months 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.