• elephantium@lemmy.world
    link
    fedilink
    English
    arrow-up
    4
    ·
    23 hours ago

    Roughly equal parts “git is clever” and “once in a while, someone has to take some time to figure it out”.

    Say the code is split into two files. You and I both make changes, but you’re working on file A and I’m in file B. No problem!

    Now we both make changes in file A. Sometimes Git can just “figure it out”, like if all your changes are in the beginning of the file, and all my changes are at the end.

    But sometimes we both change the same section. Git can’t figure that part out, so one of us has to sit down and reconcile the changes. Sometimes this is pretty simple, other times…not so much.

    Put it all together, and it works out pretty well most of the time.

    • Psythik@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      ·
      edit-2
      3 hours ago

      Okay, so the answer basically is that you can’t have multiple people working on overlapping bits of code, not without someone sorting it out first.

      Being able to have two different people work on different parts of the same file without causing any issues makes sense, but I also thought there was some magic formula that fixes everything if two people try to upload the file with the same part of the code modified in two different ways at the same time.

      Git is not as magical as I thought it was now that you’ve explained it.

      • elephantium@lemmy.world
        link
        fedilink
        English
        arrow-up
        2
        ·
        2 hours ago

        Yeah, it’s fairly clever but not actually magical. Sometimes you have to go in and take a look.

        Actually, the real magic is that it works out mostly ok most of the time. Much better than older systems where you would have to “check out” a file to work on it which would lock others out. I’ve heard older programmers talk about needing to go find someone who had a file checked out and have them check it back in to enable them to do some work.