GitKraken

GitKraken is a cross platform Git GUI for Windows, Mac and Linux. And it's damn awesome! I have been using this amazing piece of software since 2016 and have seen their great community grow and flourish on Slack. (Look for me there as Nexxuz.) Ever since they started up their Ambassador Program I have been a part of it as well. If you would like to try it out please feel free to use my link to sign up for a free account!


The Command Line

$ gitkraken --help
Options:
 -d, --diagnostic-level, --log-level   Override in-app logging level. The available values are STANDARD, EXTENDED, and SILLY
 -e, --encoded-uri                     Encoded URI (scheme) handler; takes a gitkraken:// URI that has been URI-encoded. Overrides -p and -u.
 -h, --help                            Print this usage message.
 -l, --log-file                        Log all output to file.
 -n, --nexxuz                          Nothing to see here...
 -p, --path                            Open the repository specified by path            
 -u, --uri                             URI (scheme) handler; takes a gitkraken:// URI. Overrides -p. GitKraken URIs start with a directive, such as "repo". Example: gitkraken://repo/home/me/proj
 -v, --version                         Print the version.
 -z, --performance                     Run performance timings

Hidden CLI options

Options:
   --disable-gpu                       Disables GPU excelleration. Use if GUI does not render properly.
   --disable-software-rasterizer       Disables software rasterization.  Use if GUI does not render properly.
   --no-sandbox                        Disables sandbox mode. Use if GUI does not render properly.

GitKraken CLI

As of version 8.0.0 GitKraken ships with a built in CLI that brings a new helper command, gk.


GK CLI options

$ gk --help
Usage: gk [options] [command]
Options:
  -h, --help          display help for command
Commands:
  blame <path>        search for a file to view who did what
  history <path>      search for a file to view its history/blame
  diff [sha1] [sha2]  Show changes between commits in graph panel. If no SHAs are provided, it will use your WIP and HEAD. If only one SHA is provided, it will be compared with HEAD
  panel [position]    toggle graph view
  graph [position]    show the graph view
  help [command]      display help for command

Blame

$ gk blame --help
Usage: gk blame [options] <path>
search for a file to view who did what
Arguments:
  path        path/to/file
Options:
  -h, --help  display help for command

History

$ gk history --help
Usage: gk history [options] <path>
search for a file to view its history/blame
Arguments:
  path        path/to/file
Options:
  -h, --help  display help for command

Diff

$ gk diff --help
Usage: gk diff [options] [sha1] [sha2]
Show changes between commits in graph panel. If no SHAs are provided, it will use your WIP and HEAD. If only one SHA is provided, it will be compared with HEAD
Arguments:
  sha1        commit sha hash to compare
  sha2        commit sha hash to compare
Options:
  -h, --help  display help for command

Panel

$ gk panel --help
Usage: gk panel [options] [position]
toggle graph view
Arguments:
  position    reposition graph view (choices: "top", "left", "right", "bottom")
Options:
  -h, --help  display help for command

Graph

$ gk graph --help
Usage: gk graph [options] [command] [position]
show the graph view
Arguments:
  position       reposition graph view (choices: "top", "left", "right", "bottom")
Options:
  -h, --help     display help for command
Commands:
  show <column>  show commit info such as author, sha, or datetime
  hide <column>  hide commit info such as author, sha, or datetime

Troubleshooting

Installed fonts not showing as available in the preferences.

On some Linux systems fonts get installed to /usr/local/share/ fonts but GitKraken pulls the list of system installed fonts from /usr/share/fonts


Emoji Characters not displaying properly

Make sure you have the Nerd Font installed.