Skip to main content
Explore GitHub Desktop and its primary features: signing in, cloning repositories, configuring editors and Git identity, making and reviewing changes, committing (including co-authors), and pushing to GitHub. This guide follows a typical workflow on Windows or macOS and highlights the visual actions GitHub Desktop provides alongside equivalent Git commands where useful.

1. Sign in to your account

Open GitHub Desktop and sign in to your GitHub account:
  • Windows: File → Options → Accounts
  • macOS: GitHub Desktop → Preferences → Accounts
You can sign into either GitHub.com or a GitHub Enterprise instance. When you sign in via the browser, you will be asked to authorize GitHub Desktop — review the requested permissions and continue to authorize.
The image shows the GitHub Desktop interface with a pop-up window displaying account options. The user is signed into a GitHub account with an option to sign into GitHub Enterprise.

2. Repositories and workspaces

After signing in, GitHub Desktop displays options for repositories and workspaces. You can:
  • Clone repositories from GitHub or by URL
  • Create new local repositories
  • Add existing local repositories to the app
To clone a repo, click Clone and provide the repository URL plus a local directory. Example values:
Cloning copies the remote repository to your machine so you can edit, commit, and push changes.

3. View and review changes

GitHub Desktop presents two primary panes that matter during development:
  • Changes view — shows unstaged or new local modifications with a diff preview.
  • History view — lists past commits and allows inspecting commit details.
You can toggle between split and unified diffs to inspect changes more clearly.
The image shows a GitHub Desktop application screen with a file change in README.md. Edits include adding a section titled "exploring github desktop app".
Example: adding a single line to README.md will appear in the Changes tab. GitHub Desktop also displays diffs for binary files such as images.

4. Configure editor and shell integrations

Set your preferred editor and shell so you can open files from the app:
  • Windows/Mac: Options → Integrations (macOS: Preferences → Integrations)
    GitHub Desktop auto-detects installed editors. Common choices include Visual Studio Code and Git Bash (Windows).

5. Set Git identity and default branch

Ensure commits are attributed properly:
  • Windows/Mac: Options → Git (macOS: Preferences → Git)
    Set your author name and email used in commit metadata. New repositories created in GitHub Desktop default to the main branch unless changed.
Set your Git name and email globally on your machine if you use multiple tools. This prevents mismatched commit attribution across GUIs and the command line.
The image shows a GitHub Desktop interface with an "Options" window open, displaying settings for the Git repository, including fields for author name and email.

6. Open and edit files

From the repository file list you can:
  • Show in Explorer / Finder
  • Open in Visual Studio Code
  • Open with default program
After editing and saving, changes will instantly appear in the Changes tab with a side-by-side or unified diff. If you add a new file (for example, app.png) to the repository folder on disk, GitHub Desktop will list it as a new file ready to be committed. Example PowerShell command to verify your working directory on Windows:
When ready, enter a commit summary (for example: “add logo and update README”), commit locally, then push to the remote. If you prefer the command line equivalent to push changes:
It can take a few seconds for the GitHub web UI to reflect newly pushed content.

7. Manage binary file changes and image diffs

GitHub Desktop can display visual comparisons for image changes — for example, replacing app.png with a different image. Visual diff styles include split (side-by-side) and overlay/onion-skin comparisons, which help you confirm visual changes before committing.
The image shows a GitHub interface comparing two images: one labeled "GitHub Desktop" marked as deleted, and another labeled "GitHub App" marked as added.

8. Add co-authors to commits

GitHub Desktop supports co-authored commits. Use the “Add co-authors” option in the commit area and type the co-author’s GitHub username. GitHub Desktop appends the Co-authored-by: trailer to the commit message so multiple contributors get credit.
Use co-author trailers to credit pair programming, mentorship, or collaborative edits. The co-author must have a GitHub account for linking from the commit view on the web.
Example: adding a co-author “Alice McVarish” and committing the updated logo will produce a commit that lists both the main author and the co-author in the web UI.

9. Push, pull, and resolve conflicts

After committing locally, push the commit to the remote. If the remote contains changes you don’t yet have locally, fetch or pull first, resolve conflicts in the editor or through the app, then push. Once pushed, the commit history on GitHub shows the author and any co-authors. The web UI may take a few moments to update.
The image shows a GitHub Desktop interface with no local changes and options for pushing commits and opening the repository in different editors or browsers. It indicates that a commit titled "updated logo" has just been made.

10. Summary of common workflows

GitHub Desktop provides a visual interface for the most common Git tasks but still allows opening a shell or editor when direct Git commands are required.

11. Example repository view

Below is a snapshot of the example repository sid-gh900 used in this walkthrough. It includes a README and an app.png file added during the demo.
This image shows a GitHub repository named "sid-gh900" with a description in the README file introducing a developer named Siddharth. The repository includes files such as a README.md and an app.png.
If multiple tools are used on the same machine, keep a consistent Git name and email to avoid mismatched commit attribution. Verify settings in both GitHub Desktop and your global Git config.

Watch Video