Welcome to GitKraken Client! In this GitKraken Client demo from the 2021 GitKon Git conference, Jonathan Silva walks through the incredible features of one of the most popular Git tools in the world.
GitKraken Client is a Git productivity and team collaboration tool that saves teams time. Whether you’re a seasoned user or a newer face, GitKraken Client has something for everyone.
Want a Git tool that is constantly evolving to meet user challenges with advanced features? Download GitKraken Client free and follow along with Jonathan.
User Interface Overview
When you open your Git repository with the app, GitKraken Client builds the central graph, which is a visual representation of your repo’s commit history.
Each row of the graph represents one Git commit, and the top of the graph will always display the latest changes. An interactive //WIP (Work-In-Progress) node will show if the working directory has changed since the last commit.
The left panel shows your local Git branches, remotes, pull requests, issue tracking integrations, teams, and much more.
All of these sections can be quickly filtered by typing in the filter/search bar towards the top of the left panel. And from within each section, you may access additional actions. For example, you may hide or solo branches from the branch actions menu.
To review changes from a commit you will use the commit panel on the right of the graph.
The commit panel shows what files were changed for the selected commit, along with additional details. For example, if you have GPG signing set up, the commit panel on the right will show what commits have been signed and verified with a green notes 📝 icon next to the commit name.
From the commit graph, click on any file name from a selected commit to quickly view the file diff. From here, you can easily switch between Hunk view, Inline view, or Split view. GitKraken Client also provides word diffing, a file minimap, and arrows to jump to the next change.
From the central graph, you may use the shift or cmd/ctrl key to select more than one commit to get a combined diff, which is great for comparing diffs between commits or branches.
Files are displayed with the path name by default, but if you prefer, you can toggle to tree view, or click “View All Files” for quick access to all the files in the repo.
Selecting the WIP node in the graph will display working directory file changes in the commit panel. From here, you can stage, unstage, or discard changes before committing. For more granularity, changes can also be staged, unstaged, or discarded by hunk or line in the diff view.
You can also click to edit the file directly in GitKraken Client’s editor to make additional changes to your files.
Branching with GitKraken Client
Local and remote branches are easy to create, manage, and interact within GitKraken Client.
If you right-click a commit that is the head of a branch, you’ll have even more options, including pushing and pulling a branch that is not currently checked out, as well as merging, rebasing, and starting a Git pull request.
If any of this goes wrong, the Undo button will take you back to a previous state of the repo if you have not pushed that repo to a Git remote. This is really handy if you commit or perform a merge incorrectly and want to go back.
Within GitKraken Client’s toolbar, you can see Push and Pull buttons. The Push button will push the current branch to its assigned remote, and the Pull button can either fetch or pull remote branches. You can set the default action GitKraken Client will take for each Git pull by clicking the dropdown menu beside the Pull button, and then selecting one of the icons next to each option, as shown below.
Clicking the magic wand icon at the top right of the UI in GitKraken Client will bring up the command palette, where you may quickly access actions like Git checkout, push, pull, open a repo, clone a repo, and much more. You can also use the keyboard shortcut Cmd/Ctrl + P to pull up the command palette without ever leaving your keyboard.
Drag-and-Drop and Interactive Rebase
Drag-and-drop makes Git operations easier to understand and execute.
In GitKraken Client, you can drag-and-drop one branch onto another branch to generate a list of possible actions such as: Git merge, rebase, interactive rebase, and even start a pull request if your repository is hosted on one of the supported integrations.
You can also get a similar list of actions by checking out a branch and then right-clicking on the target branch in the graph or left panel.
If you choose the interactive rebase option, GitKraken Client opens the Interactive Rebase view where you may choose an action for each commit.
- On the left – choose between pick, reword, squash, and more.
- Use the up or down keys to navigate commits
- Use the keyboard shortcuts to perform any of these actions
- You can also double-click a commit to reword
- And drag and drop to move commits up or down
If at any point you wish to restart, just hit Reset to revert your changes.
Once you make your selections, you are able to start the interactive rebase, and when it finishes, the graph will update to reflect your changes. Pretty nice, right?
GitKraken is the perfect example of a Git tool that has grown to solve new problems, with advanced features like interactive pull request management, merge conflict detection and resolution, deep linking, and more.
When you drag-and-drop to perform a merge, GitKraken Client will detect merge conflicts and guide you through the resolution.
If a merge conflict occurs, a “Merge conflict detected” message will appear on top of the commit panel on the right, along with a list of the conflicted files. Clicking on any of the listed files in the commit panel will open the merge tool.
The merge tool in GitKraken Client will show you the conflicting changes between two branches along with an Output at the bottom. Check the box for each hunk of code you wish to keep, or select one line at a time.
You can even type in the Output box to fine-tune the code further. Once you’re happy with the changes, hit Save, or type Ctrl/Cmd + S, to exit the merge tool and proceed to the next conflicted file. After you’ve resolved all conflicts, you can proceed with the merge.
With GitKraken Client, merge conflicts are less scary and easier to untangle, and now with GitKraken Client’s team features you can avoid merge conflicts all together – stay tuned for more on that.
Git Repo Pull Request Integration
GitKraken Client’s integrations with GitHub, GitHub Enterprise, GitLab, GitLab Self-Managed, Bitbucket, Bitbucket Server, and Azure DevOps make it easy to create and manage pull requests without leaving the Git client.
From the graph, drag-and-drop a branch onto another branch to access the “Create a pull request” option.
This will trigger a modal where you may set the pull request title, description, and few more details. Once you’re happy with the details, click Create Pull Request and the PR will be available from the left panel in the main UI.
If you’re using the GitHub.com integration, you can utilize the pull request view for GitHub pull requests, increasing your productivity even more by eliminating the need to switch over to GitHub during the PR process.
Select a GitHub pull request in the left panel to bring up the pull request view, giving GitHub users the ability to:
- Edit the pull request title, description, reviewers, assignees, milestones, and labels
- Comment on a pull request: submit code reviews, approve pull requests, or request changes
- Merge a pull request
ProTip: If you double-click the branch name in the bottom right of the PR view, GitKraken Client will automatically checkout the branch and open it in the graph. This makes it easy to test all changes for a PR locally without having to bounce between apps.
Issue Tracker Integrations
GitKraken Client integrates with popular issue trackers like Jira, GitHub Issues, GitLab Issues, and Trello.
Navigate to Preferences → Issue Tracker, and then choose the issue tracker you wish to integrate with the currently open repo. You can also set this as a default for your other repos.
After you’ve connected your issue tracker with GitKraken Client, you can select the project in the left panel to view and filter issues.
Hover over an issue to preview details, or select an issue to:
- View issue details
- Edit the status/column
- Add an assignee
- Add comments
- Create branches tied to issues (the issue ID and title will become the branch name)
GitKraken Client also allows users to create new issues, setting the issue type, name, description, label, and assignee without leaving the Git client. Additionally from the left panel, you may click the ⋮ menu that appears at the end of the issue name in the issue panel to view issues directly in the issue tracker or copy issue link.
Git for Teams
GitKraken Client is more powerful when you work with teams.
Users on GitKraken Client Pro and Enterprise Cloud accounts can create and manage teams within their organization. Navigate to Preferences → Your organization name to view the list of your organization members. This is also where account admins can:
- Invite users to the organization
- Assign roles to organization members
If you are part of a team in GitKraken Client, the Teams pane in the left panel will populate with a dropdown list of all the teams you belong to.
Selecting a team will display a list of all members in that team, and you will be able to see the branches and files each member is working on.
GitKraken Client will also warn you of potential merge conflicts with teammates by indicating any files that both you and another team member are currently working on with a warning icon ⚠️, saving your team the headache of untangling conflicts.
If you have the Author column enabled for the graph, you may filter the graph by team or by individual contributors. Filtering the graph by team or author will highlight the commits made by any contributors matching your filter, which should make the graph easier to scan for work by your team.
The team features offered by GitKraken Client make collaborating with Git safer, easier, and more powerful, and makes onboarding new team members much faster.
Putting It All Together
Watch this clip from the video to see a common workflow scenario in GitKraken Client.
Now what are you waiting for?