A community Ubuntu GNOME port of GitHub Desktop, maintained in cconner100/git-desktop-ubuntu. Manage local repositories, clone from GitHub, review changes, commit, create branches, and push or pull using a desktop interface.
This fork keeps the upstream Electron, React, and TypeScript interface and adds Ubuntu packaging and GNOME desktop integration. It is not an official GitHub release or a rewrite using GTK/libadwaita widgets.
| Item | Current release |
|---|---|
| Application version | 3.6.7-beta2-ubuntu.1 (prerelease) |
| Ubuntu package version | 3.6.7~beta2-ubuntu.1-1 |
| Release tag | ubuntu-v3.6.7-beta2-ubuntu.1 |
| Target desktops | Ubuntu 24.04 LTS and 26.04 LTS, with GNOME |
| Architecture | amd64 / x86_64 (Intel or AMD 64-bit) |
ARM64 and older Ubuntu releases have not been validated. The application includes Electron, Git, credential helpers, and the Copilot runtime. Installing a release package does not require Node.js, Yarn, or build tools. Network access is needed for missing Ubuntu dependencies, GitHub sign-in, and remote repository operations. Copilot features require the appropriate account access.
-
Open the Releases page and select the newest Ubuntu release, including prereleases.
-
Download both
git-desktop_3.6.7-beta2-ubuntu.1-1_amd64.debandgit-desktop_3.6.7-beta2-ubuntu.1-1_amd64.deb.sha256from its Assets. -
Open a terminal in the download directory and run:
sha256sum --check 'git-desktop_3.6.7-beta2-ubuntu.1-1_amd64.deb.sha256' sudo apt update sudo apt install './git-desktop_3.6.7-beta2-ubuntu.1-1_amd64.deb'
-
Launch Git Desktop from GNOME's application menu, or run:
git-desktop
For later releases, substitute the filenames shown in that release's Assets.
Use apt install rather than opening the archive manually so Ubuntu installs
its declared runtime dependencies. The runtime is installed under
/opt/git-desktop; its launcher is /usr/bin/git-desktop.
Download the newer package and checksum, verify them, and install the new .deb
with the same APT command. Linux releases use package upgrades; the application
does not use the upstream Windows/macOS automatic updater.
sudo apt remove git-desktopUninstalling leaves your repositories and personal application data intact.
Sign in through your browser from Git Desktop. Browser authentication callbacks and Open in Desktop links are registered with Ubuntu. Credentials are stored using libsecret and the GNOME keyring.
Without custom build credentials, this fork uses the development OAuth app provided in upstream source. Company organizations may require approval for that app even when the same repositories work in your browser or the official app. If a company repository is missing or GitHub returns an OAuth access restriction:
- Open GitHub Settings → Applications → Authorized OAuth Apps.
- Select the OAuth app used for this build and check Organization access.
- Grant access if permitted, or request approval from an organization owner.
- Refresh the repository list in Git Desktop after approval.
For organizations using SAML SSO, establish an active organization SSO session before authorizing the app. See GitHub's OAuth authorization guidance. This port follows GitHub's repository permissions and organization policies.
Release maintainers can configure their own OAuth app with the repository secrets
DESKTOP_OAUTH_CLIENT_ID and DESKTOP_OAUTH_CLIENT_SECRET. These values are build
inputs for a desktop client, not a place to store personal access tokens. A
production OAuth app must use the x-github-desktop-auth callback scheme.
- A self-contained Debian installer and SHA-256 checksum.
- A GNOME application launcher, desktop identity, icons, and URL handlers.
- Linux startup handling for browser authentication and clone links.
- GNOME keyring credential storage and package-based updates.
- An application-specific AppArmor user-namespace profile for Electron's sandbox.
- Linux packaging for Copilot's native runtime and FFI loader.
- Emoji packaging compatible with older and current gemoji data.
- Automated Ubuntu builds, package installation checks, and application smoke tests.
The desktop continues to use the upstream interface. Full GNOME Wayland/X11 integration and live GitHub authentication still require desktop testing; the CI smoke test runs under a virtual X11 display. The AppArmor profile allows user namespaces for the installed executable and is not a full confinement policy.
git clone --branch ubuntu --recurse-submodules https://github.com/cconner100/git-desktop-ubuntu.git
cd git-desktop-ubuntu
bash script/linux/build-and-install.shThe helper runs from a normal Ubuntu terminal, installs prerequisites using sudo,
builds in a separate cache directory, installs the package, runs smoke tests,
and launches the application. It preserves the source checkout and copies the
installer into dist/. Use Ubuntu 24.04 for packages intended to run on both
24.04 and 26.04. A build made on 26.04 is intended for local testing on 26.04.
See the Ubuntu build guide for manual build steps, architecture limits, and desktop verification.
Ubuntu package and release
runs on changes to the ubuntu branch, pull requests, manual runs, and
ubuntu-v* tags. It builds native modules on Ubuntu 24.04, installs the actual
package, checks shared libraries, runs unit/regression tests and an installed
application smoke test, and checks installation on Ubuntu 26.04.
A tag whose name matches ubuntu-v plus the version in app/package.json
publishes a GitHub Release with the tested .deb, its SHA-256 checksum, and
installation notes. Publication waits for both Ubuntu jobs to succeed.
Versions containing a prerelease suffix are marked as prereleases. Ordinary
branch builds provide Actions artifacts without creating a release.
To publish the current version after committing changes:
git tag ubuntu-v3.6.7-beta2-ubuntu.1
git push origin ubuntu-v3.6.7-beta2-ubuntu.1For a new release, update app/package.json and the version/installation examples
in this README before creating the corresponding new tag. Keep tags immutable.
The workflow uses the repository's built-in GITHUB_TOKEN to publish assets;
a personal access token is not required for release automation.
Report Ubuntu-port problems in this fork's issues.
Include your Ubuntu version, whether you use Wayland or X11, the application
version, and relevant errors from Help → Show logs in your File Manager (or
~/.config/Git Desktop/logs). Remove credentials and private repository details
before sharing logs.
The original source is desktop/desktop.
This port starts from upstream commit
bc09e9e8.
The upstream README and contribution guide
are retained for background and development information.
MIT. Upstream copyright notices and bundled third-party license information are preserved. GitHub's trademarks and logos remain owned by GitHub; the MIT license does not grant trademark rights. This is a community project, not an official GitHub product or endorsed Ubuntu release.