GitHub Desktop

GitHub Desktop 3.6.9

GitHub Desktop manages Git repositories, commits, branches and pull requests through a graphical interface on Windows and macOS.

Updated October 24, 2026
257 MB
0.0

Use the arrow keys to choose a rating, then press Enter or Space to submit it.

Not rated yet 0 user ratings

App Specs

DeveloperGitHub, Inc.
LicenseFreeware
CategoryUtilities
Available platformsWindows, macOS
Downloads2

Overview

GitHub Desktop is a free, open-source Git client for Windows and macOS that manages project changes through a graphical interface. It works with GitHub, GitHub Enterprise and other Git hosting services. Users edit project files in an external editor, then review changes, create commits and exchange those commits with a remote repository.

Bring a project onto the computer

A repository contains project files and their change history. GitHub Desktop can create one from a project name and local folder, or add an existing Git repository. New repositories can start with a README, an ignore-file template and a license file.

Cloning copies a remote repository into a folder that the user chooses. The clone dialog accepts a URL or a repository from the user’s GitHub account. Publishing a local repository creates its GitHub counterpart, with controls for public visibility and organization ownership. When direct contributions require permission the user lacks, Desktop can offer a fork under their own account.

Choose what enters a commit

The Changes view tracks edits that the user saves in project files. Selecting a file opens its diff, which compares the edits with the previous content. GitHub Desktop offers a unified view or a split view with old content beside new content. Users can hide whitespace differences or expand the surrounding context.

File checkboxes determine which changes enter the next commit. Within a file, users can exclude individual lines while leaving other edits for a later commit. A summary describes the commit, an optional description adds detail, and co-author controls credit collaborators. Committing records those choices in the local branch; pushing sends the commit to its remote counterpart.

Branches and worktrees

Branches keep separate lines of development within a repository. GitHub Desktop creates a branch from an existing branch or an earlier commit. When users switch branches with unfinished edits, they can bring those edits along or leave them on the original branch.

Stashing temporarily removes edits from working files without creating a commit. Users can later restore or discard that change set. Desktop holds one stash set at a time.

Worktrees give different branches their own directories at the same time. Users name a worktree and choose an existing branch or create a new one. The Worktree menu switches the active directory, so another branch can stay open elsewhere. Desktop also renames and deletes additional worktrees. It cannot rename or delete the main worktree.

Exchange and combine changes

Fetch origin checks the remote branch for commits. Pull origin brings remote commits into the local branch, while Push origin sends local commits outward. GitHub Desktop also merges another branch into the current branch or rebases the current branch onto another.

Merge conflicts stop a merge until the user resolves competing edits. Rebasing changes branch history, and updating the corresponding remote branch can require a force push. The app provides separate merge and squash-and-merge operations; the latter combines the incoming changes into a single commit.

Inspect and revise history

The History view shows commit messages, committer usernames, timestamps and commit identifiers. Selecting a commit or consecutive range reveals its changes, with individual files available for closer inspection. GitHub Desktop offers distinct operations for revising that history:

Operation Result
Undo Returns a local commit’s changes to working files before the user pushes it.
Amend Changes the latest commit’s message or adds further edits to it.
Revert Adds a new commit that reverses an earlier commit’s changes.
Cherry-pick Copies a commit’s changes onto another branch.
Squash or reorder Combines commits or changes their sequence.

Users can drag commits to combine them, reorder them or copy them to a branch. Rewriting history that already exists remotely can require a force push.

Review a pull request locally

After publishing a branch, users can preview its differences against a base branch. GitHub Desktop then opens GitHub in the browser to complete the pull request. It also checks out an existing pull request’s branch for inspection or further editing.

Check badges show pending, passing or failing checks, and users can rerun individual checks or groups. Comments, formal reviews and pull-request merging take place on GitHub.

Copilot and large files

With Copilot access, GitHub Desktop generates commit messages from file changes and repository instructions. Copilot can also explain merge conflicts and propose resolutions that users accept or edit. Users select a model through a picker, including a custom provider or local model. Custom providers still require Copilot access.

GitHub Desktop includes Git LFS for large files. Users configure its tracking through the command line, after which Desktop manages those files alongside the rest of the repository.

Key Features

  • Repository cloning and publishing
  • Line-level commits
  • Split and unified diffs
  • Branches and stashing
  • Git worktrees
  • Commit history editing
  • Pull-request checkout
  • Check status and reruns
  • Copilot commit and conflict assistance
  • Git LFS

Similar Apps