The world of information technology is constantly developing and expanding, forcing myself and many other developers to learn new technologies and read smart books on a regular basis. Some people say that a programmer is reaching maturity when he or she starts to learn a second programming language. Ruby was my third artificial language, however, the Linux-based platform—my colleagues at Distillery recommended that I avoid at any cost setting the working environment on a computer with Windows—was worlds apart from the well-known Windows environment, I am more than used to as a .NET developer. After finishing the initial installation and configuration procedures, I faced the fact that the choice of convenient and decent development software for Ubuntu left a lot to be desired.
The first thing I had to do was download repositories from GitHub. I was used to work with SourceTree and TortoiseGit (I am not a real big fan of the command prompt, but I still use it on a regular basis), and I soon discovered that the situation with Git-clients was pretty bad as well. After trying to work in Qgit, Git-cola, and giggle, I started to take a liking to the command prompt. Nevertheless, I wanted to find a tool that would be more convenient and comfortable. That was when I managed to find GitKraken, a tool developed by Axosoft. The first version of that tool was released on March 29, 2016. The developers are working at incredible speed, and the latest version 2.4.0 was released on April 18th, 2017.
After installing this application, I started to have a soft spot for it. And here’s the list of things that attracted me:
- Convenient and sophisticated interface. All the most important and frequently used operations are located in the upper panel, allowing the developer to receive changes, create a branch, add something to the stack, and so on. It also offers a convenient interface for commit amendments and solving conflicts during branch merging.
- Out-of-the-box integration with GitHub, Bitbucket, GitLab (however, I only managed to check GitHub integration and only with single-factor authentication).
- It also offers convenient search tools, both for branches and for commits. GitKraken offers two interfaces that are similar in a layout: Fuzzy Finder and Command Palette. These are small test windows that can be launched by using key combinations Ctrl+P and Ctrl+Shift+P. These windows can be used to perform many frequently used operations quickly. Fuzzy Finder allows finding a file, switching to its history, cloning a repository, creating one, and so on. Command Palette makes it possible to perform various modification operations, which can be done only with the current repository (undo, redo, checkout, stash create, and so on). These features were probably made for those developers used to working with the command prompt, allowing them to get used to GitKraken.
- Undo/Redo functions. Currently, their functionality is limited to a couple of operations. The great thing about them is the fact that these functions don’t just cover changes, made via the program interface, but all changes in the repository. For example, if you commit something via the command prompt and realize that you forgot something. It takes only one click in GitKraken to roll such a commit back.
- Functional graph of branches, drag&drop branch merging, the option of creating pull requests or cherry-picking a commit. When you create a lot of branches, it becomes difficult to keep track of to what is where. GitKraken offers Solo mode. By activating this mode, you will see only the graph and commits related to the current branch.
- Detailed documentation with thorough description of all features and explicit screenshots.
- It supports working on different projects via several accounts. However, this functionality is offered only in the Pro version.
- Supports Git-Flow.
- GitKraken is a cross-platform solution (Windows, Linux, MacOS).
GitKraken is offered for free for educational purposes, non-commercial use and for startups, created less than a year ago. In all other cases, the user must buy a subscription. It is worth noting that GitKraken won’t replace the command prompt, but many operations can be done faster and more conveniently by using GUI. This program solution is certainly worth your attention and time.