• bizdelnick@lemmy.ml
    link
    fedilink
    arrow-up
    43
    arrow-down
    2
    ·
    1 year ago

    I totally disagree. Git is not hard. The way people learn git is hard. Most developers learn a couple of commands and believe they know git, but they don’t. Most teachers teach to use those commands and some more advanced commands, but this does not help to understand git. Learning commands sucks. It is like a cargo cult: you just do something similar to what others do and expect the same result, but you don’t understand how it works and why sometimes it does not do what you expect.

    To understand git, you don’t need to learn commands. Commands are simple and you can always consult a man page to know how to do something if you understand how it should work. You only need to learn core concepts first, but nobody does. The reference git book is “Pro Git” and it perfectly explains how git works, but you need to start reading from the last chapter, 10 Git Internals. The concepts described there are very simple, but nobody starts learning git with them, almost nobody teaches them in the beginning of classes. That’s why git seems so hard.

    • Footnote2669
      link
      fedilink
      arrow-up
      4
      ·
      1 year ago

      Ahhhhh, that’s why! I should’ve know to read from the end not beginning lmao. Jokes aside, thanks for the advice I’ll try it out :)

    • locuester
      link
      fedilink
      English
      arrow-up
      4
      arrow-down
      1
      ·
      1 year ago

      I agree, the teaching is wrong. I always teach it visually. That seems to do the trick

    • gedhrel@lemmy.world
      link
      fedilink
      arrow-up
      3
      ·
      1 year ago

      Came here to say the same thing. The git book is an afternoon’s reading. It’s well worth the time - even if you think you know git.

      People complain about the UX of the cli tool (perhaps rightly) but it’s honestly little different from the rest of the unix cli experience: ad hoc, arbitrary, inconsistent.

      What’s important is a solid mental model and the vocabulary of primitive and compound operations built with it. How you spell it in the cli is just a thing you learn as you go.