I used CVS and ClearCase before moving into Git, and it took me some time to adjust to the fact that the cost of branching in Git is much much less than ClearCase. And getting into the “distributed” mindset didn’t happen overnight.

  • FizzyOrange@programming.dev
    link
    fedilink
    arrow-up
    4
    arrow-down
    4
    ·
    6 months ago

    I tried to follow tutorials that use the command line. In hindsight that is terrible way to teach Git, which is fundamentally quite a visual thing.

    It’s like trying to teach people about filesystems only using cd, ls and pwd instead of just showing them a file tree.

    Actually it’s even worse because Git’s CLI is so notoriously awful.

    Eventually I tried Sourcetree which made it all make sense. Though Sourcetree isn’t a very good GUI, mainly due to being hella slow. I eventually switched to GitX which is probably the best GUI I’ve used so far and makes everything extremely clear and easy. Unfortunately Mac only.

    I now mostly use the Git Graph VSCode extension which is excellent and integrates pretty well with VSCode. Unfortunately it has been abandoned by its author and they frustratingly included a license clause saying only they could release versions of it, so it’s basically abandonware. But it still works so I’ll figure out a replacement when I have to.

    • 0ops
      link
      fedilink
      arrow-up
      2
      ·
      6 months ago

      Oh dang, I use that extension too and I didn’t know it was abandoned. Let me know if you find a good replacement

    • robinm@programming.dev
      link
      fedilink
      arrow-up
      1
      ·
      6 months ago

      If you use the git command line (and I do) you should spam git log --graph (usualy with --oneline).

      And for your filesystem example I sure do hope you use tree!

      • FizzyOrange@programming.dev
        link
        fedilink
        arrow-up
        1
        ·
        6 months ago

        you should spam git log --graph

        Yeah… but that’s just a poor man’s GUI. Why use that when you can use a proper GUI? The only reason I can think of is if you happen to be in a situation where using a GUI is a bit of a pain (e.g. SSH).

        • robinm@programming.dev
          link
          fedilink
          arrow-up
          1
          ·
          6 months ago

          It’s a question of workflow. Git doesn’t guide you (it’s really workflow agnostic) and I find it easier to taillor CLI to fit my exact need, or use whatever was recently added (like worktrees a few years ago). I have yet to find a GUI/TUI that I’m not frustrated with at one point but everyone has its own preferences.