DEV Community

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

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?

Oldest comments (87)

Collapse
 
ecyrbe profile image
ecyrbe • Edited

I don't use a git gui, i'm far faster with command line.

It take a while to know the commands and options, but once you learn them you become much more productive.

It allows you to use git on any computer, help others fix their git mistakes.

Collapse
 
thefern profile image
Fernando B 🚀

Add that cli feedback is a whole lot better than a gui client.

Collapse
 
jacob87o2 profile image
Jacob B.

Having GUI doesn't disallow you from using CLI commands but does help with rendering the tree. The tree rendered in terminal looks awful and not very helpful.

Also, I find some actions to be faster and easier using GUI - for example reviewing and staging the changes.

So, I personally use both GUI (Fork) and git CLI.

I also use KDiff3 for resolving conflicts. Looks dated but works really well.

Collapse
 
hrishio profile image
Hrishi Mittal

I never got into them. I tried Github Desktop and GitX but didn't like them.

I just use the command line (am I the only one?).

Collapse
 
louislow profile image
Louis Low

Terminal only

Collapse
 
madza profile image
Madza • Edited

Do you use any aliases to be more productive with git? 🤔

Collapse
 
louislow profile image
Louis Low • Edited

Oh yes, I created a few most frequently used Git commands with aliases in my .bashrc file. Usually, the shorthand commands not more than 6 letters.

# @file: .bashrc
alias gprn='du -hs $PWD/.git; git status; git pull; git gc --aggressive --prune=all; du -hs $PWD/.git'
alias gprna='find . -name .git -type d -execdir git gc --prune=all ";"'
alias gs='git status'
alias gpsh='du -hs $PWD/.git; git gc --aggressive --prune=all; du -hs $PWD/.git; git status; git push'
alias gcomp='du -hs $PWD/.git; git gc --aggressive --prune=all; du -hs $PWD/.git; git add .; git commit -m'
alias gclone='git clone'
alias gc='git checkout'
alias gcm='git commit -m'
alias gs='git status'
alias ga='git add --all'
alias gp='git pull --rebase'
alias gb='git branch -vv'
alias gr='git remote -v'
alias grt='git reset --hard'
alias gpub='git push origin publish'
alias grp='git rebase publish'
alias gdev='git push origin dev'
alias gd='git branch -D'
alias gm='git merge'
alias gh='git push'
alias gda='git branch | grep -v "develop" | grep -v "release" | xargs git branch -D'
alias gf='git fetch'
alias gl='git log -3'
Enter fullscreen mode Exit fullscreen mode
Thread Thread
 
madza profile image
Madza

Nice list 🔥🔥🔥 Thanks for sharing with us ❤

Thread Thread
 
simonguillochon profile image
dondappr33

Hey ! Do you know ZSH has its own aliases for Git in CLI ?
github.com/ohmyzsh/ohmyzsh/wiki/Ch...

Thread Thread
 
louislow profile image
Louis Low

Yea, I know. But I am kinda married to Bash like forever (16 years). I don't think I would find any other partner.

Thread Thread
 
simonguillochon profile image
dondappr33

Weddings are increasingly rare so congratulations lol

Thread Thread
 
louislow profile image
Louis Low

Everything is weird these days.

Collapse
 
thefern profile image
Fernando B 🚀

These are my abbreviations in fish.

github.com/kodaman2/kubuntu-dotfil...

Collapse
 
cuongnh1139 profile image
Nguyen Huy Cuong

I use terminal and source tree for review my commit

Collapse
 
amitkurud profile image
amitkurud

I use git tools provided in Intellij Idea and Webstorm , They sufficient for me.

Collapse
 
kamo profile image
KAIDI

I use Fork , let's say it's very powerful and easy to use.
I tested gitkraken before, it's slow comparing with fork

Collapse
 
kaeptnkrunch profile image
Stephan B. R. Langenau

I tested a lot. Mostly i use the Terminal because i work with Linux. But i use this only for smaller projects or to make a short commit and push. For longer Project i tried GitHub Desktop, GitKraken. But when it comes to GitHub Desktops clients i was falling in love with GitAhead.

Collapse
 
choroba profile image
E. Choroba

I use the command line in a terminal and magit in Emacs.

Collapse
 
frost profile image
Martin Frost

Same here. I've tried to use VS Code a bit, and in VS Code I've tried the edamagit plugin, which aims to be a magit version for VS Code. It seems promising.

Collapse
 
pierrelegall profile image
Pierre Le Gall

If magit is the best Git GUI for many people today, we have to precise it is the best Git GUI for Emacs users only ;p

And, as an Emacs plugin (I should say Emacs package), note it is a Git pseudo-GUI because it is keyboard oriented. From my point of view, it is very nice compromise between power of a CLI and ergonomy of a GUI.

Collapse
 
axiol profile image
Arnaud Delante

Tried many of them and always came back to the terminal. Just a set of small aliases and we're good to go. The only UI I use is Github / Gitlab for merge request or conflicts some times

Collapse
 
andreligne profile image
André

I'm using a plugin called vim-fugitive since it allows me to stay in my when writing commits or staging parts of a file.

For other things (e.g., pushing, rebasing, bisecting), I'm using the terminal. It takes some time to learn all the commands, but after that, it's worked out well for me. 😄