• Ephera@lemmy.ml
    link
    fedilink
    arrow-up
    16
    ·
    4 months ago

    It does sometimes happen that something in there just breaks and isn’t easy to recover. But it can also be a matter of (inexperienced) devs just deciding, fuck it, I won’t try to merge it, I’ll just copy my changes elsewhere and throw away the repo.

    • nous@programming.dev
      link
      fedilink
      English
      arrow-up
      10
      arrow-down
      1
      ·
      4 months ago

      I have never had git get into a state I cannot get out of. Even if that is a reset, checkout or clean. And those are very rare. How are people breaking things so often.

      Learn the tools you use daily, it saves you a lot of headache in thelong term.

      • Ephera@lemmy.ml
        link
        fedilink
        arrow-up
        6
        ·
        4 months ago

        Oh yeah, but I’m talking about the internal Git state just genuinely being broken, for example: https://stackoverflow.com/questions/14448326/git-commit-stopped-working-error-building-trees
        Ultimately, if you spend half an hour debugging that, it just starts being a waste of time compared to cloning anew.

        As for how to merge, yes, one should learn that. The problem is that the complexity of the code changes adds on top of whatever insecurities you might still have with Git.
        I did put “inexperienced” in braces there, because even as an experienced dev, merges are sometimes just not worth doing. In that case, you could just checkout the branch a second time, but well, still not that different.

    • RecluseRamble@lemmy.dbzer0.com
      link
      fedilink
      arrow-up
      6
      ·
      4 months ago

      But it can also be a matter of (inexperienced) devs just deciding, fuck it, I won’t try to merge it, I’ll just copy my changes elsewhere and throw away the repo.

      Pretty sure that’s actually it. Git has a learning curve and, for example, some naive rebase not working out as intended can be scary if you don’t know what you’re doing.