I’ve been using Git since I started programming in 2014. I usually used the Git command line, as it was powerful and relatively easy to use. However, when I discovered GitKraken, that changed, and I’ve rarely had to open up the command line to fix conflicts and fast forward to the remote branches.
GitKraken is elegant and easy to use – it’s easy to fast forward various branches, checkout branches, submit pull requests and commit. I’m really impressed with the ease of use, yet power, that GitKraken offers in a graphical interface for Git.
I won’t go into all the usual things that you can do with GUI Git clients, such as pushing and pulling, branching etc. However, I did just want to say how easy GitKraken makes it to merge two branches – you simply drag a branch label and drop it into the branch you want to, and click on the menu to confirm the merge.
Often it’s a pain to make a quick change to code on PC, however GitKraken allows you to edit the code right in app. I only learnt about this whilst writing this review (from the GIF above in fact), and it’s a great feature of GitKraken that allows you to make quick edits.
One of my favourite features of GitKraken is the diff tool. This makes it easy to see how a file was changed in a commit, and you can change it hunk view, inline view, or side by side view, my favourite. In addition to this, you can quickly jump to changes. The fabulous and customisable diff tool that GitKraken offers makes it easy to see what changes people have been doing in their pull requests and commits.
Another good feature of GitKraken is the ability to stage in hunks and lines. If you’re making a change, but notice a small code improvement that could be done, GitKraken allows you to commit this separately so you don’t need to muddy the commit. You can choose whether to stage just a hunk of the file, a link, or the whole thing.
Merging conflicts is easy with GitKraken. The application shows you one commit file from one branch, and the other commit that is creating a conflict. You can then select individual lines that you want to keep, or select a whole file. The output is then shown at the bottom, so you can see what the result will be. This is a particularly impressive features of GitKraken – Gits way of showing merge conflicts wasn’t ever the best, and I never could get the hang of resolving them on the command line. However, GitKraken makes it incredibly easy to pick what you want to keep, and remove what you don’t want in merge conflicts.
GitKraken also has many options in regards to branches and commits. You can set the upstream branch, create a branch from where the right clicked branch is located, revert a commit, and much more. Right clicking on a historical commit also gives a lot of options, allowing you to create a branch from it and so much more. Whilst the majority of this is easy to do by command line, it’s a lot easier (less typing), and you don’t have to try and remember a command you use once in a while.
The GitKraken sidebar is also very useful, showing you your local, remote and stashed branches. This makes it easy to keep on top of what you are working on, and tidy up both your local and your remote. I really like the way GitKraken handles stashing, as it makes it easy to save your changes when you use the command line, or do some changes on another branch. It also allows you to save changes you did that you may want to commit on another branch.
In regards to managing your repositories, I think GitKraken does an okay job. I keep all my local projects in a GitHub folder (as that is what I use as my remote), so it makes it easy to manage them all, but for those who work on a lot of projects, I do wish that GitKraken had a search feature that would allow you to search through your repositories. You can also add project groups, so a folder of projects to open them more quickly. In addition to this, you can favourite your most used projects.
If you click on the project name, a menu pops up of favorites and recent projects, and I think this is a really nice touch (clicking on the branch name also allows you to quickly switch branch). It allows you to really quickly switch projects.
All in all, I’m thoroughly impressed with GitKraken. I’ve been using it exclusively for the past month, and it’s made it a lot easier to work with Git. I haven’t had to open the command line since I started using GitKraken, and I urge those who haven’t tried a GUI for Git, or who use the GitHub desktop app, to try out GitKraken for free (referral link).