Image

GitKraken Desktop Documentation

Push, Pull, and Fetch in GitKraken Desktop

Last updated: June 2025

Push, pull, and fetch operations are essential for synchronizing local work with remote repositories in GitKraken Desktop.


Add a Remote

To add a remote:

  1. Hover over Image Remote in the Left Panel.
  2. Click the icon.
  3. Enter the remote URL or choose from integration-based dropdowns (GitHub, GitLab, Bitbucket).
Image
Add a remote from the Left Panel

Note: Integration dropdowns show forks only. For non-fork remotes, use the URL option.

Remote icons in the Commit Graph:

  • GitHub
  • Bitbucket
  • GitLab
  • Azure DevOps
  • Other

Push Changes Image

To push local commits to a remote branch:

  • Click Push in the main toolbar
  • Or right-click a branch and select Push
Image
Push a local branch to its upstream

If a remote branch doesn’t exist yet, GitKraken will prompt you to name and create it.

Caution: If fast-forwarding fails, GitKraken may offer a Force Push option. Use with care.

Drag and Drop Push

Drag a branch onto a remote branch (in the graph or Left Panel) to trigger a push.

Image
Drag to push a branch to a remote

Fetch

Fetching retrieves updates from remotes but doesn’t change your working directory.

Image
Fetch from the pull dropdown menu

Fetch All

Shows how far ahead/behind your branches are compared to the remote.

Image
Ahead/behind indicators in the Left Panel

Fetching runs automatically every minute. Adjust the interval in Preferences > General.


Pull Options Image

Pulling performs a fetch and then updates your local branch.

Pull (fast-forward if possible)

Fast-forwards your branch if there are no conflicting commits; otherwise, merges.

Image
Example: Merge fallback when fast-forward not possible

Pull (fast-forward only)

Attempts to fast-forward. If not possible, no action is taken.

Pull (rebase)

Temporarily stashes your commits, pulls from remote, and replays your changes on top.

Image
Rebase keeps commit history linear

Set Pull Behavior

Select a default pull method via the dropdown menu.

Image
Choose a default pull behavior

Set Upstream Branch

The upstream defines the remote branch a local branch tracks.

  • Right-click a branch to set its upstream
  • Or click the button
Image
Set the upstream branch

You can also drag and drop to push instead of explicitly setting the upstream:

Image
Push without setting upstream via drag-and-drop
Have feedback about this article? Did we miss something? Let us know!
On this page