I’ve been thinking a lot lately about how I use Git in my day-to-day work, and I’ve realized I still default to the terminal for just about everything Git-related. For me, there’s something satisfying about typing out commands and getting immediate feedback, especially when I’m doing things like rebasing, cherry-picking, or fixing up commits.

But then I started wondering… am I just stuck in my ways? There are so many GUIs and tools out there that streamline Git workflows—tools like GitKraken, SourceTree, and even VS Code’s built-in Git integration. Some of them look slick, and I know they make things easier for a lot of people, but I can’t seem to break away from the terminal. Maybe it’s the control freak in me!

So here’s my question: Do you still use Git in the terminal, or have you switched to using a tool? If you’ve made the switch, what’s your favorite Git tool? I’d love to know what everyone’s using these days. Maybe I’ll find something new to try out!

Drop your thoughts below—I’m genuinely curious to hear what’s working for you.

  • BZ 🇨🇦@lemm.ee
    link
    fedilink
    arrow-up
    0
    ·
    2 months ago

    It’s a mix for me. I’ll definitely use the CLI for most things, but I find some things easier with a GUI:

    • Viewing history / branches
    • cherry picking
    • unstaging files
  • starshipwinepineapple@programming.dev
    link
    fedilink
    arrow-up
    0
    ·
    2 months ago

    I use my IDE for basic things, but anything more involved i use git directly. It’s really not as intimidating as it’s made out to be. I’m no expert by any means but i know enough to get around and read the docs when i need help

  • Ephera@lemmy.ml
    link
    fedilink
    arrow-up
    0
    ·
    2 months ago

    I’ve been telling all the juniors we have, that they’re free to use a GUI tool, but they do not get around learning the CLI. If you fuck up or Git breaks, you’ll need to look up how to unfuck it and that’s where the only help you find is for the CLI.

    In particular, it’s also been my experience that you rapidly come into a situation where suddenly you’re the Git expert and need to help others. If you only know one specific GUI, you can only help others who use that GUI. If you know the CLI, you can help anyone.

    It also happens that you need to interact with Git repos on a server where you simply won’t have a GUI.

    And yeah, given that whole opinion, personally I seriously do not care to learn a GUI in addition to the CLI.

  • AstridWipenaugh@lemmy.world
    link
    fedilink
    arrow-up
    0
    ·
    edit-2
    2 months ago

    I’ve been doing software development for 20 years and use a GUI (GitKraken) almost exclusively. I know all the commands, but using a GUI makes self-reviewing my code as I commit it a LOT easier. It’s also way less error prone and makes visualizing complex branching/merging operations easier to understand. It’s overkill if you’re working solo or with a very small team though; I regularly work on projects with dozens of active branches.

  • blaue_Fledermaus@mstdn.io
    link
    fedilink
    arrow-up
    0
    ·
    2 months ago

    While I don’t like being forced to time-travel back to the 1970s, there’s always a situation that the GUIs can’t handle and I’m forced to use the terminal.

  • MagicShel@programming.dev
    link
    fedilink
    arrow-up
    0
    ·
    2 months ago

    There are certain things that are easier in a UI like finding the commits related to a defective feature and rolling them back, but for most operations I use the CLI.

  • marzhall@lemmy.world
    link
    fedilink
    arrow-up
    0
    ·
    2 months ago
    > git diff
    > git add `!! --name-only`
    > git commit - m "updated doc"
    > git push origin HEAD
    

    is probably 50% of my work machine bash history. Also fun trick for anyone who doesn’t know:

    git checkout -
    

    checks out the last branch and it’s great. “Damn, I need to pull main into this branch” becomes

    git checkout -
    git pull
    git checkout -
    git merge main
    
  • Pumpkin Escobar@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    2 months ago

    VS Code’s git features are pretty good for staging changes, resolving merge conflicts, pushing changes. I still do most branch changing and creating with the CLI, and yeah, any sort of problem generally needs the CLI.

    We’ve also been using graphite at work and there’s a lot I like about graphite. They have a VS Code extension I haven’t used in a while but their CLI is pretty nice

  • Gamma@beehaw.org
    link
    fedilink
    English
    arrow-up
    0
    ·
    2 months ago

    I never do prs or anything from the terminal, web interfaces have spoiled me on that, but for adding, committing, pushing, and pulling I use the terminal! I even wrote a little helper script with some common shortcuts I use (cad - add and commit, cal - commit and add the list file I diff’d, amend, etc). It even has a default command that shows branches and lines of code changed: