• Cyborganism@lemmy.ca
    link
    fedilink
    arrow-up
    38
    arrow-down
    1
    ·
    10 months ago

    As a side note, I find it incredible how much programmers have such little knowledge of how to use Git properly.

    Even the most amazing developers I’ve worked with found themselves completely unable to manage their repos properly.

      • fidodo@lemmy.world
        link
        fedilink
        arrow-up
        19
        ·
        10 months ago

        Git is one of those things that take a bunch of learning to understand but is makes perfect sense once you do. I read like half of the pro git book and after that I was like it’s so simple! If course it still requires you to read half a book…

        • Cyborganism@lemmy.ca
          link
          fedilink
          arrow-up
          16
          ·
          10 months ago

          Yes! And the book is free. You can download it in PDF if you want.

          For some reason I’ve always been able to visualize version control systems and workflows pretty well and understand how they work. I used to host a CVS server when I was in college back in 2001 so my teammates and I we could collaborate on our lab projects. Then moved on to Subversion, which I used for a very long time. Then I worked at a small company who used Canonical’s Bazaar and finally joined a big corp who used Git.

          Throughout the years I simply developed some good practices that I applied to Git and that seemed to be enough. But, I’d occasionally get into this detached head state that I didn’t really understand. And this happened often with my teammates at that job. They’d end up with bizarre scenarios. So I started reading the book and experimenting and was soon pretty solid in Git and ended up being the SME on that topic for our team. Everyone would come to me when they got stuck.

          I’m still learning new shit about Git even 8 years later lol. But, the step from being a newbie to a normal user is really big.

      • KuroeNekoDemon@sh.itjust.works
        link
        fedilink
        arrow-up
        3
        ·
        10 months ago

        Oh boy are you in for a shock to know that I use git all the time when I want a piece of software that isn’t available in YaST2, Flatpaks or Appimages

        • Lunya \ she/it@iusearchlinux.fyi
          link
          fedilink
          arrow-up
          14
          ·
          10 months ago

          I mean understand and know when or how to use every feature and command, I don’t mean using git clone https://github.com/foo/bar occasionally.

        • Cyborganism@lemmy.ca
          link
          fedilink
          arrow-up
          7
          ·
          10 months ago

          Cloning a repo to build the source code isn’t even remotely hard.

          When you manage the repo of an entire team who work together on different release versions of a product using a very specific workflow with squash commits and cherry-picking? And when team members fuck up the repo’s history with a bad git pull/push? Yeah, it gets more complicated.

            • Cyborganism@lemmy.ca
              link
              fedilink
              arrow-up
              1
              ·
              10 months ago

              Even with merge policies, if someone doesn’t understand what they’re doing or how it works, it won’t help.

              Last project I worked on, we asked our developers to rebase on the parent branch and squash on their pull requests. But, they often encountered conflicts because they never updated their branch. They would pull the parent branch into their feature breach, or do a regular merge, or merge different other branches together and you’d end up with commit duplication everywhere. They didn’t have any discipline.

      • jarfil@beehaw.org
        link
        fedilink
        arrow-up
        4
        arrow-down
        2
        ·
        10 months ago

        Git is easy: the key part is picking a GUI you feel comfortable with.