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/)
- 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:
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) 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:
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!
Top comments (10)
Fork is another amazing client! Sadly it's only paid, there is no free version of it. It used to be free while it was in beta.
Fork is still free, I use it every day.
They do ask for a donation but they don't enforce it (yet).
Indeed Fork is an amazing client and they still do lots of great updates.
Really? I only saw a evaluation on their website?
That is AFAIK correct. But the period is so far infinite.
Oh I see.
Unfortunately they don't have a Linux version of Fork. IIRC they said they want to wait until Linuxers had decided on a standard UI toolkit. ๐คฆโโ๏ธ
That's why I've also decided to pay for Gitkraken.
I can recommend github.com/microsoft/vscode-pull-r...
This even integrates git, PRs and issues directly into your IDE. Even less context switches.
There are options for JIRA and GitLab available too.
GitKraken is a cool git client, but it would probably be better if it was not written on Electron =)
I use Sublime Merge to resolve conflicts and find this client to be the most convenient for me. For other actions, I still use git cli.
Have you try Gitfox?
Not tried, yet.
Thanks for the hint.
I've checked their website and I'm missing more information about their features.
However, I could also just try it.