The Most Underrated Open Source and Cross Platform Git GUIBy Forest Johnson On
I like to say that I "grew up" using Git GUI applications. When I started using Git, I was a novice programmer, and the Git Command Line Interface infuriated me. These days, I have more respect for the Git CLI, but I would still not recommend it to anyone except the most hard-core UNIX-ish CLI users.
I believe I started out using Mercurial, not Git, at my first job, and I was told to use TortoiseHG, as that's what everyone else was using.
I loved TortoiseHG, back in 2014, I believe it was one of the most polished and bug-free version control tools that existed for windows. (Windows workstations were mandated by my employer at the time).
When I got a new job and switched over to Git, I perused the version control tools available to me, and immediately tried out TortoiseGit. Well, back then, it was pretty much hot garbage all around. Ugly, buggy, it felt like an unfinished novice attempt at porting TortoiseHG to Git. Eventually, I believe I settled on using SourceTree.
SourceTree is nice to use, but it's proprietary and it doesn't support Linux. I used it for a while, but when I switched over to using Linux on my workstation, I had to go on the hunt for Git GUIs again. The first Linux-supporting tool I gravitated towards, GitEye, is also proprietary.
GitEye was immediately familiar to me, because it's basically just Eclipse and Eclipse's Git plugin, EGit, slapped together and re-branded. I had already used both and found them to be adequate, so I stuck with GitEye for a while simply because it was easy and accessible.
I recently re-installed my desktop OS, and so I was re-evaluating what Git GUI I should use. I was looking on the official list on git-scm.com: https://git-scm.com/download/gui/linux
They all looked like they were either proprietary/paid, still in development, too clunky, or too simplistic for my tastes.
But then the idea hit me. If GitEye is just rebranded Eclipse, why don't I cut out the middle man and go straight to the source? Eclipse is not even listed as a Git GUI on git-scm.com, but in my opinion,
Eclipse is the best Free and Libre Open Source Git GUI that runs on Mac, Windows, and Linux
To make things even better, these days the Eclipse installer allows users to perform a minimal install, called "Eclipse Platform" that doesn't contain any of the java IDE stuff or anything else.
From there, all you have to do is select
Install New Software... under the Help menu:
and then enter the url for the EGit repository:
After that, you can open the Git perspective with
Window --> Perspective --> Open Perspective --> Other... and then select Git.
From there, you can customize the layout the way you want by dragging and dropping windows. I settled on a layout where the repo list is on the left, the History panel takes up pretty much the entire screen, and the Commit Staging window is a little pop-out window in the upper right:
To be fair, eclipse is vast and needlessly complex in many ways. It's easy for me to use because I'm familiar with it and I've used it as an IDE before, but I don't think that's necessarily a requirement for using it as a Git tool. Eclipse has a lot of users and a lot of effort behind it, and it has pretty much only gotten better over time. If you prefer control and detail over limitation and simplicity, Eclipse as a Git GUI is definitely the tool for you.
The other strike against eclipse has to be its notoriously bodacious memory usage, which is still around to this day. Sitting idle with one repository cloned, it's currently using about 500MB. For me, that's definitely acceptable, and I have heard that the memory settings can be tuned, although I probably won't bother.