Skip Navigation

Is anyone here using a GUI for git? If yes - which one and why?

I ask because I like console, but at the same time have difficulties remembering all the commands. I'd like to try a GUI that is comfortable to use with only a keyboard.
[edit]
My inbox got fediversized, fantastic feeling.

47 comments
  • I don't use a GUI, with the exception of Meld as my primary difftool

    At work I wish they were using git. But we got SVN. How I long for the ability to use pull requests. But tortoiseSVN has some nice features (I'm stuck with windows over there) even if it's lacking in overall functionality.

  • Lazygit changed how I use git, it is so easy to do all the daily essentials like branching, committing, and merging, but also also does more advanced things like interactive rebasing when needed.

    I had searched for a proper git client, that was free and open source plus worked on both Linux and Windows, for a long time and I haven't looked back after finding lazygit.

  • I use TortoiseGit.

    The log window gives me overview and almost every action I need. Committing, diffing, switching, rebasing, creating and deleting branches and tags, pushing, fetching, merging, view logs of files, blaming, filtering…

    The log view is still much better than the VS Git log view. And due to it's visual GUI it's much better than CLI when going beyond just one branch or a low number of my own branches.

  • I use various extensions for Visual Studio Code. They add a million features, but these are the ones I find most useful:

    I prefer to view the current status of my checkout in the sidebar of my code editor than on the command line.

    It's easier to view a diff of a file and decide whether to stage or rollback changes in a GUI. With most GUIs you can even select individual lines of code and revert or stage them.

    I like how Commit and Push and Pull are a single "Commit & Sync" button in Visual Studio code. Similarly there's a simple "Sync" button in the status bar.

    Speaking of the status bar - it also has a counter for commits that need to be pushed or pulled. And it tells you what branch you're currently on. And whether you have uncommitted changes. Handy.

    I find the GUI equivalent of git log --graph is significantly easier to understand when the graph is drawn with nice vector lines instead of ASCII art.

    Finally - I don't just use raw git, I also use extensions like pull requests, and I create branches for issue numbers. I have an extension that shows pull requests in Visual Studio Code and also shows issues assigned to me, with a one click "Start Working" button to create a branch named after the issue and change the issue status to In Progress. And when I'm finished working on it, there's a button for that too.

47 comments