Why I was ready to pay for a Git client
Tags: git, productivity, webdev, programming
Published: 2020-11-10 15:31:02

For years, I've been using Sourcetree as my go-to-tool for all Git related actions and repository management. It did all I could wish for and I couldn't imagine why someone would pay for a Git client. Until I stumbled across GitKraken ([https://www.gitkraken.com/](https://www.gitkraken.com/))

![GitKraken](https://dev-to-uploads.s3.amazonaws.com/i/w45x8y5wtwpq5tawg8af.png)
*- Picture taken from GitKraken's website.*

# My workflow

To understand why I changed my mind, it might be interesting to understand, how I work.

Here's a standard workflow, I usually follow:
![Sourcetree workflow](https://dev-to-uploads.s3.amazonaws.com/i/65ze7nf12toeko8tvpap.png)
At my work, we use GitLab / GitHub for code management and pipelines and often feature branches to structure the way teams work. Pretty standard, no special things here ✌️.

To finish a piece of work, I usually have to work with three tools: **Sourcetree**, **GitLab,** and **Jira** (not shown in this picture).

The context switches between these tools were never something that bothered me. I always thought that this is how it is to code nowadays. In conversations with my colleagues, I've heard that some used a different Git client (like GitTower [https://www.git-tower.com/mac](https://www.git-tower.com/mac)) and so I stumbled across GitKraken during a Google search. Due to a recent change in their pricing structure, I was ready to give it a spin, and oh boy, did this tool go to town (with me).

# My new workflow

After I learned about some of GitKraken's features, my new (improved) workflow looks like this:
![GitKraken workflow](https://dev-to-uploads.s3.amazonaws.com/i/5kac90xlc8158yzbvmmy.png)
First of all, I can stay in my Git tool to create merge requests. Can we just pause for a second and process this? It doesn't feel like much but go dare and try. It's wild 🔥!

Secondly, I can still stay in my Git tool to see the issues which are assigned to me in Jira, change them, and move them in their workflow.

If that doesn't get you off your seat and have you throwing money at this tool, I'll throw in an epic undo/redo feature which lets you reverse and redo actions (I already see the comments, where you complain that you can't take back a commit after you've pushed it. It doesn't change Git. It supports you). With the undo feature, I don't have to look up reset commands any more or do hard resets because it's sometimes cumbersome to reverse an action (Yeah yeah, it's good to know what's happening under the hood, I got you. I've been under the hood when I started with the terminal for the first couple of years. I'm entitled to have some nice things in life, ok?).

# The result

"A whole new wooooorld...". At least it feels like it. I brought my contexts down from three to two and profit from other sweet features like:

- Multiple profiles (in sync with your `.gitconfig`)
- Great merge conflict editor (no more "mine" and "theirs" 🤷‍♂️)
- Fast, responsive UI
- Auto-Stashing at merge conflicts

and many more.

# Dear Santa...

Now, if I could just bring my contexts down to 1 (!)... I found out that this context thing really grinds my gears or at least hinders productivity. I've talked with Axosoft (the company behind GitKraken) and they have more GitLab support on their board and `+1`ed it for me. **Always talk with the companies and let them know what you need. Maybe it pays out someday**.

**And just because it reads like a paid article: it’s not. I’m just hyped 🙈**

Happy coding!