GitKraken “Could not find a compatible repository” Error Fix

I recently encountered an error in GitKraken after a bad merge occurred when trying to merge in some changes from the main development branch, whilst I had quite a few local changes that GitKraken usually automatically stashes for me.

My problem was I was using Bash Ubuntu on Windows, which has a nasty habit of locking files. The merge and stashing seemed to fail because in the changes I was attempting to merge in, some files were deleted.
I tried closing and reopening GitKraken, but it was clear that GitKraken wasn’t going to let me open up that repo again.

The fix

I realise this is a bit of a nuclear fix, but you’ll need to open up PowerShell to fix this. For me, it was simply a matter of navigating to the project directory and running: git reset --hard however, if you need changes, your repo will be interactable just fine on the command line.

As far as I could see with everything I tried, GitKraken won’t ever fix itself, the command line is the only solution. The above, once I ran it and opened up GitKraken it worked just fine again as nothing had happened.

Using Beyond Compare With Sourcetree For Mac

I used to use Diffmerge for my merge/comparison needs, however I find the outdated interface to be unfriendly and ugly to look at.

On Windows I use Sourcetree and Beyond Compare works without integration, it shows up in the appropriate dropdowns but on Mac it does not. I don’t understand why Sourcetree on Mac is different to Windows, but anyway.

Fortunately, Sourcetree makes it easy to use third party comparison tools even if they are not in the dropdowns.

Firstly, we need to install Beyond Compare “Command Line Tools” which allows us to call Beyond Compare.

Go into the Beyond Compare menu and choose Install Command Line Tools.

Secondly we need to configure Sourcetree to use the command line for Beyond Compare:

In Preferences and then the “Diff” tab, at the bottom there is a section which allows you to specify the compare tool.

Screen Shot 2015-11-02 at 8.55.43 PM

Visual Diff Tool: Other
Diff Command: /usr/local/bin/bcomp
Arguments: $LOCAL $REMOTE

Merge Tool: Other
Merge Command: /usr/local/bin/bcomp
Arguments: $LOCAL $REMOTE $BASE $MERGED