Git is complicated. When working in a team, deal with the unexpected
git errors can be a hassle, and you do not want to waste the fixation time of development
git problems when you can code. A GUI
git the client can remedy these problems.
The command line is not always better
First, we definitely say that you should not learn to use
git from the command line. It is important that you can perform basic tasks (download, clone, commit) even if you do not have access to a GUI.
But for more complex tasks, such as reshaping, branch management, and merging, command line
git can be complicated, especially when it encounters unexpected errors. If you have ever stased your changes and hard reset your HEAD branch to try to fix problems when you press or drag, you may want to try using a GUI.
You will probably fix these problems on your local machine anyway, where you are not locked to the terminal. Instead of having to type commands to do everything, the basic operations are available as buttons. However, it is not magic, you still need to know how
git works to use one. Resolving merger conflicts will still be difficult, but the GUI can make it easier to understand.
Even so, look at this comparison between the fork
git client and command line
git. What looks like a minor headache?
The answer is clearly GUI, a fact that only the most hardcore terminal purists would agree with. Note that we had to search StackOverflow and run the inconvenient command “
git log --graph --pretty=oneline --abbrev-commit“For the terminal to also look so nice.
Also, if you work in a team of people, you will surely come across some who are not very knowledgeable about
git. On board a complete beginner, it becomes much easier when they get a GUI while learning the inner workings of
git, rather than dealing with the headache of learning the terminal along with everything else. Again, you should still teach them to use the basic terminal commands, but you will encounter minor conflicts if they use the GUI as their daily driver.
Which Git client should you use?
It is a pulp of
git customers – too many to talk about in depth here, and many of them are probably not worth your attention. Instead, we show screenshots of a few good ones, and let you choose which one catches your eye.
Fork is our recommendation. It’s free and has releases for macOS and Windows (although Linux support is not there yet). The main window is clean with separate tabs for each archive and a multicolored graph of all mergers and commitments in each.
It also has an excellent interface for resolving merger conflicts (either in a fork or in an external tool), as well as an interactive phasing feature that allows you to rearrange or squash commitments when re-branching branches:
And if all else fails, it has a dedicated button to open the current repo in your default terminal.
Another option is Sourcetree, built by Atlassian. It’s a free complete feature
git client with some extra integrations for BitBucket, Atlassian’s Github competitor. It has the same graph interface for browsing the commitment history, as well as a tab for browsing different branches.
It has buttons for opening the repository in Finder / Explorer, as well as your standard terminal. It also has builds for macOS and Windows, but Linux is not supported.
Next up is Github Desktop. It’s certainly not as functional as some of the other clients, but it seems to be designed around a specific use case: working with open source projects. Changing storage is easy, as is changing branches within scratches. The commitment history is displayed as an ordered list, where the main window is a different view of each commitment’s changes.
You will probably spend a lot of time creating feature requests when working with open source projects. The app makes it easy – pressing Command + R creates a new drag request for your commitment or opens the corresponding drag request on Github itself.
Github desktop has releases for macOS and Windows but no official release for Linux. However, it is based on Electron, so there is a third-party Linux port available.
Finally, we have GitKraken, a premium
git client, with full support for macOS, Windows and Linux. It costs $ 49 per year per person for the team version, although there is a free version for individual use with public Github scratches.
But it’s really premium; the user interface is wonderfully designed and even shows small profile pictures in the graph view.
It has integrations for GitHub and Gitlab (including self-hosted Gitlab), as well as their own tracking service, called Glo Boards. This really only seems to be Trello, but it’s included in the GitKraken license, so it’s nice to have in the same interface.
The Github integrations include being able to update and synchronize Github issues and milestones from the app itself, as well as automating Glo Board actions in response to status updates for pull requests.
It seems to be worth the money, so if you do a lot of work in Git and want a premium client, you should try their free version. They also have a 7-day free trial of the Pro version if you want to test it with private scratches.