DEV Community

Cover image for What GIT GUI client do you use?
Madza
Madza

Posted on

What GIT GUI client do you use?

I used GitHub Desktop at first, tho moved away as I wanted some integrated solution. So I went with VS Code extension GitLens and I find version control much easier now.

I've heard of other solutions like GitKraken, SourceTree and Smart Git.
There are lots of GIT extensions, as well.

What GIT GUI client do you use and why?

Latest comments (88)

Collapse
 
zapbampow profile image
Clayton Ingalls

GitKraken plus command line.

Whenever I need to see this history of a repo's commits and what changes were made in each file, I haven't found anything that comes even close to GitKraken.

However, I use the command line for my most common tasks, like committing, pulling, pushing, cloning, etc.

Collapse
 
andrewbaisden profile image
Andrew Baisden

I prefer the command line as well it just feels more natural and you don't need to use another tool. Plus when you create a new repo you get given set up code and not a recommendation for a GUI because there is so much choice.

Collapse
 
olddutchcap profile image
Onorio Catenacci

I prefer the CLI for a few reasons:

1.) Faster

2.) Best feedback of all. Most times when something fails in the GUI the best way to fix the issue is to look for the message on the CLI

3.) Aliases. Just so much quicker than clicking through a GUI.

Collapse
 
3vl profile image
Victor Lewis

Tower! It's the first thing I've found in years that got me off the command line. git-tower.com/

Collapse
 
larden profile image
Jakub L.

I am using mainly tig which is not a GUI but CLI tool. Even though it generates cool and readable graphs in the terminal.

Collapse
 
sirawit profile image
Dragodzs

I use GitKraken very easy and help me improve productivity.

It has many features to choose from.

Collapse
 
ramyadhanush profile image
ramyaDhanush

I prefer using GitLens with VSCode, because it is easy to use and effective in developer teams. Haven't tried others mentioned in your post. Thanks for posting.

Collapse
 
bsara profile image
Brandon Sarà • Edited

I prefer the terminal. With git aliases, you can be set for anything you want to do very quickly, like formatting the logs to be all pretty or minimal in the terminal.

However, if i want to visually see large parts of my git history or view several branches simultaneously, I like to use a GUI. For me, lately, that has been Sublime Merge (made by the same guy who made Sublime Text). It works very well and I would highly recommend it.

If you have access to a JetBrains IDE, their git tools are amazing, but I would never run a full IDE just for the git tools. They are great if you already have it open though.

SourceTree is a very nice solution as well and it is what I always recommend to those who are new to git for a few reasons:

  1. It's super easy to use.
  2. It's hard to mess yourself up with it because it will generally warn you before you mess up your repo.
  3. It's a great way to discover the awesome features git provides. Because you have labeled buttons and menu items that are right in front of you as you go about your normal git business, it will make you wonder something like "what is bisect?" and then you know what to learn about/search for to become more familiar with git. (BTW, if you haven't, you should definitely look up "bisect", it's awesome).
Collapse
 
neeldev96 profile image
Neel

Funny thing is that I actually made my own (😜). I was using GitKraken back in 2019 and it is honestly great. Greater than github desktop tbh.

Then I got comfortable with bash and started using that actively. Along with the js based projects I maintain, I also have a bunch of bash scripts on my digitalocean droplet which I constantly modify. So I needed a git UI client to track what has actually changed in the scripts. Git diff is good but visualizing things on the shell is not the same as viewing it from a UI layer. So I made a web based UI client crafted with React and Node JS. The web based UI client was originally developed for Linux and Mac alone, later it was made compatible with windows.

It's available as an npm package, so I just run it from the command line and open it in the browser to use it on the go. Using git from terminal is fine for me but this platform makes a few things better such as commit log tracking and intuitive source code diff.

github.com/neel1996/gitconvex

Collapse
 
madza profile image
Madza

Wow, this is cool 🤩 Good job! 😉

Collapse
 
nbransby profile image
nbransby

git.live is not a git client per se but you might find it interesting nevertheless

Collapse
 
zilti_500 profile image
Daniel Ziltener

I am using the magnificent Magit.

Collapse
 
riekus profile image
Riekus van Montfort

Sourcetree to review + stage changes, kdiff for merge conflicts, and I try and learn a new git terminal command every now and then. Knowing the internals can be very helpful. Pulling, pushing, branching, rebasing, committing from terminal can be productive, but I still want a GUI when it comes to merges, cherry picking and an overall overview of the repo

Collapse
 
thedevdavid profile image
David

Using Oh My ZSH with git plugin to be faster. Aliases like, gp, gl, gst, gco makes so much faster than any GUI, I use VSCode GitLens too for a quick high-level overview

Collapse
 
volkmarr profile image
Volkmar Rigo

I use Fork. Awesome client for windows and mac.

Collapse
 
sarathkcm profile image
Sarath Kumar CM

Source tree outside vscode. Git lens in vscode for file/line histories. Git graph in vs code for repository history. Command line for push/pull/merge/branch or anything that modifies the repo - except committing or merge conflicts, for which I use vscode integration to see the diff and commit. And Sometimes I use lazygit from terminal. Phew!