GitKraken Desktop Documentation

Branching and Merging

Last updated: May 2025

Learn how to branch, merge, and rebase in GitKraken Desktop.

Looking for a quick summary? See how GitKraken solves merge conflicts.


Branches

Create a new branch when working on a feature or fix. Right-click any commit to open the context menu and create a branch.

Create a branch by right-clicking on a commit

A branch is a pointer to a specific commit, allowing you to isolate changes from the main codebase. Consider adopting GitFlow for structured branching strategies.

Checkout a Branch

Branch checkout updates files in the working directory to reflect the version defined by that branch.

To update your working directory:

  • Double-click a branch label from the Commit Graph or the Left Panel
  • Right-click a branch from the Commit Graph or the Left Panel and select Checkout
Creating and checking out a new branch

If you’re on the wrong branch, stash your changes, switch branches, and pop the stash.

Rename a Branch

Right-click the branch label or use the Left Panel to rename the current branch.

Rename a branch from the graph or Left Panel

You can also rename using the Command Palette (Cmd+P / Ctrl+P):

Search for “Rename Branch” in Command Palette

Delete a Branch

To delete a branch:

  1. Switch to another branch
  2. Right-click the branch you wish to delete

Use multi-select in the Left Panel to delete several branches at once:

  • Shift to select a range
  • / Ctrl to select specific branches
Select and delete multiple branches

Caution: Deleting a branch is permanent.


Merging

Merging combines changes from one branch into another. To merge:

  • Drag and drop one branch onto your target branch
  • Or right-click the source branch and choose Merge
Merge via drag-and-drop or right-click

If no conflicts exist, changes will be merged automatically.

The in-app merge conflict output editor is available with a Paid license.

Merge Conflict Editor

When conflicts occur, the Commit Panel shows the conflicted files. Click a file to open the Merge Tool.

Conflicted files shown in Commit Panel

The Merge Tool shows:

  • Current branch on the left
  • Target branch on the right
  • Output at the bottom
Review and resolve conflicts in the Merge Tool

Use checkboxes or click to select lines. Use arrow keys to navigate conflicts.

Select specific lines or edit output directly

After resolving, save and commit the output.

Tip: Use Cmd/Ctrl + F to search inside the Merge Tool.

Animated merge resolution process

Use an External Merge Tool

Set your preferred merge tool under Preferences > General.

Supported tools:

  • Beyond Compare
  • FileMerge
  • Kaleidoscope
  • KDiff
  • Araxis
  • P4Merge
Select a merge tool in Preferences

If not appearing, ensure command line tools are installed:

Sample view of configured merge tool

Unsupported tools include:

  • Meld
  • SemanticMerge
  • TortoiseMerge
  • WinMerge

For compatibility details, visit Git Config merge tools.

Resolve with Take Current/Incoming

Right-click a conflicted file and select:

  • Take current (branch) – Use your current branch’s changes
  • Take incoming (branch) – Use changes from the incoming branch
Quick resolve using current or incoming options

Conflict Prevention

GitKraken Desktop’s Conflict Prevention helps identify potential issues before a merge.

Learn more →

Available to users on the Advanced tier or higher.


Rebasing

Rebasing moves commits from one branch onto another for a cleaner history.

To rebase:

  • Drag and drop the source branch onto the target branch
  • Select Rebase from the menu
Rebase one branch onto another
Sidebar shows rebase confirmation

Rebasing rewrites history but results in a more linear and readable commit tree.

Have feedback about this article? Did we miss something? Let us know!
On this page