3.4 GitHub Desktop and GitHub Mobile
Key Takeaways
- GitHub Desktop is a free, open-source graphical application for Windows and macOS that clones, branches, commits, pushes, and opens pull requests without using the Git command line.
- GitHub Mobile is the iOS and Android app for triaging notifications, reviewing issues and pull requests, searching code, chatting with Copilot, and handling 2FA and unrecognized-device verification.
- Choose Desktop when you need a visual local Git workflow; choose Mobile when you need inbox-style collaboration and account security from a phone; choose the web UI or CLI when those fit the task better.
- GitHub Mobile can stay signed in to multiple accounts on GitHub.com, GHE.com, and GitHub Enterprise Server 3.0 or later when the enterprise enables mobile support.
- GitHub Desktop includes Git Large File Storage and can manage a local Git repository even when that repository is not hosted on GitHub.
Why GH-900 asks "when to use" Desktop and Mobile
The Domain 1 bullet is recognize when to use GitHub Desktop and GitHub Mobile. The exam is not testing whether you memorized every menu in the apps. It is testing whether you can match a scenario to a client: visual Git on a laptop, triage on a phone, full settings in a browser, or advanced Git in a terminal.
Both apps sit on top of the same GitHub account and the same GitHub Flow. Desktop helps you perform the branch-commit-PR loop locally with a graphical user interface (GUI). Mobile helps you participate in that loop away from a desk—notifications, reviews, light file edits, and account security prompts. Neither app replaces GitHub. They are clients.
GitHub Desktop: visual Git without the CLI
GitHub Desktop is a free, open-source application (project desktop/desktop) that helps you work with files hosted on GitHub or other Git hosting services. Official installers target Windows and macOS. It talks to GitHub over HTTPS and can authenticate to GitHub or GitHub Enterprise without a separate credential helper dance.
GitHub's own "why Desktop" list is the exam's use-case list:
- Get started easily. If Git on the command line is intimidating, Desktop's GUI simplifies commands and visualizes changes.
- Find uncommon commands. Line-by-line staging, adding a co-author to a commit, cherry-picking, squashing, reordering, amending, reverting, and tagging are reachable without memorizing flags.
- Follow best practices. Desktop nudges you toward an accurate, reviewable commit history instead of one giant "wip" commit.
- Integrate with GitHub. Authenticate quickly, check out a pull request to run checks without starting at the browser, create issues or pull requests, view and re-run checks, and receive notifications about PR-branch events.
A typical Desktop workflow—quoted in spirit from GitHub's docs—is: use Desktop to clone a repository and create a branch; use an editor such as Visual Studio Code to change files; return to Desktop to commit, push, and open a pull request. That is GitHub Flow with a GUI sitting between the editor and github.com.
Desktop also covers day-two Git operations you would otherwise stash in a terminal: stashing uncommitted work, worktrees so you can have two branches checked out at once, Git Large File Storage (LFS) for large binaries, undoing or resetting commits that have not been pushed, amending the last commit, reverting a commit that already landed, and changing a repository's remote URL after a rename. You can add a local Git repository that is not on GitHub at all, then publish it. You can configure a default editor, a theme, Git identity, commit hooks (and bypass them when needed), and even Copilot model choices inside Desktop.
When Desktop is the right tool
- You are on Windows or macOS and want GitHub Flow without learning
git checkout -b. - You need to see a diff, stage some hunks but not others, and write a meaningful commit message.
- You want to create a branch, commit, push, and open a PR from one application.
- You are reviewing commit history graphically, cherry-picking one commit onto another branch, or squashing local commits before they are shared.
- You need LFS or a simple way to clone/fork from GitHub onto your machine.
When Desktop is the wrong tool
- You are on Linux as your only OS (Desktop's documented supported systems are Windows and macOS).
- You need a bare-metal Git move the GUI does not expose the way you want, or you are scripting hundreds of repos.
- The task is repository or organization settings, security policy, or billing—those live in the web UI.
- You only have a phone. Desktop is not Mobile.
Desktop is a Git client with GitHub integration. It is not the place you turn on SAML, design an EMU directory, or edit an org's CODEOWNERS from a bus.
GitHub Mobile: triage, review, and account security in your pocket
GitHub Mobile is the first-party iOS and Android app. GitHub describes it as a way to do high-impact work quickly from anywhere through a trusted client. The documented capability list is the "when to use Mobile" list for GH-900:
- Manage, triage, and clear notifications
- Read, review, and collaborate on issues and pull requests
- Edit files in pull requests
- Search and browse users, repositories, and organizations
- Receive a push notification when someone mentions your username
- Search code in a specific repository
- Secure your GitHub.com account with two-factor authentication (2FA)
- Verify sign-in attempts on unrecognized devices
- Use GitHub Copilot Chat for coding questions, and assign issues to Copilot where that product is enabled
Mobile is available in English, Spanish, Japanese, Brazilian Portuguese, Simplified Chinese, Korean, and German, following the device language unless you override it in the app settings. On iOS, Universal Links can open github.com URLs in the app instead of Safari.
Accounts on Mobile. You can stay signed in to multiple accounts at once on GitHub.com, on GHE.com (Enterprise Cloud with data residency; version floors apply), and on GitHub Enterprise Server. Server support requires GitHub Mobile 1.4 or later, GitHub Enterprise Server 3.0 or greater, and an enterprise owner who enabled mobile. Push notifications on Server use background fetch, so they can be delayed. If users must reach the enterprise over a VPN, Mobile may not work. Social login (Google or Apple) is documented for GitHub Free and GitHub Enterprise Cloud users who originally signed up that way.
When Mobile is the right tool
- A mention or a failing check arrived and you need to triage now, not after you open a laptop.
- You can review a small pull request, comment, or approve from a phone.
- GitHub is challenging a login and you need to confirm 2FA or an unrecognized device in the official app. Passkeys and 2FA are a Domain 6 topic in depth; Domain 1 only needs you to recognize Mobile as a security client, not merely a reader.
- You want Copilot Chat or a quick code search without a full IDE.
When Mobile is the wrong tool
- You need a large local refactor, an interactive rebase, worktrees, or LFS smudge/clean on a clone. That is Desktop or CLI.
- You need to change org security settings, billing, or EMU configuration. That is the web UI (and usually a desktop browser).
- You are on a VPN-only GitHub Enterprise Server instance that Mobile cannot reach.
- You need a full GitHub Flow commit loop with hunk staging. Mobile can edit files in PRs; it is not Desktop.
When the web UI or the CLI is better
GH-900 will offer four-way choices. Desktop and Mobile are not always the answer.
| Job | Best client | Why |
|---|---|---|
| See a diff, stage hunks, commit, push, open a PR on a laptop | GitHub Desktop | Visual GitHub Flow without memorizing Git |
| Clear an @mention, review a small PR, approve 2FA | GitHub Mobile | Push notifications and a trusted security client |
| Toggle branch protection, compare two files, edit a README in the browser, manage teams | GitHub web UI | Zero install; full settings surface; press . for github.dev later in Domain 4 |
| Rebase, hook-heavy workflows, scripting, Linux-only environments | Git CLI and/or GitHub CLI | Maximum control; Desktop is not a Linux product |
Use the web interface when you have no rights to install software, when the task is administrative, or when you are already looking at a file on github.com and a one-line fix is enough. GitHub Flow's own docs remind you that the entire flow works in the browser. Use the CLI when you are automating, when you need a Git operation Desktop does not emphasize, or when your daily driver is a Unix shell.
Exam traps
- Desktop is not "GitHub for beginners only." Advanced users use it to visualize history and to run less-common commands. Beginners use it to avoid the CLI. Both are in GitHub's docs.
- Mobile is not a toy reader. 2FA and unrecognized-device verification are first-class Mobile jobs.
- Desktop does not run GitHub Actions runners. Mobile does not host Enterprise Server.
- If the scenario is Linux plus interactive rebase, pick CLI, not Desktop.
- If the scenario is "on the train, someone mentioned me," pick Mobile, not Desktop.
- If the scenario is "turn on required reviews for the default branch," pick the web UI, not either app.
- EMU and SAML live on the account/plan side of Domain 1 and in Domain 6; the apps are just how a human talks to GitHub after that policy exists.
Memorize the decision, not the screenshots: Desktop = visual local Git on Windows/macOS. Mobile = notifications, review, and 2FA on iOS/Android. Web = settings and zero-install Flow. CLI = power and automation.
A Windows developer wants to review a visual diff, group related file changes into commits, create a branch, and open a pull request without using the Git command line. Which client should they choose?
Which set of jobs is GitHub Mobile specifically designed to handle from an iOS or Android device?
A repository administrator needs to enable required reviews on the default branch from a machine that cannot install GitHub Desktop. What should they use?