Compare GitHub Desktop to these popular alternatives based on real-world usage and developer feedback.

Search engine to find source code across all your Git repositories quickly. Search using keywords, exact code, fuzzy, semantic search & more.

pre-commit checks your code for errors before you commit it. pre-commit is configurable.

It is a client library targeting .NET 4.5 and above that provides an easy way to interact with the GitHub API.

hub is a command line tool that wraps git in order to extend it with extra features and commands that make working with GitHub easier.

When run, this command line interface automatically generates a new GitHub Release and populates it with the changes (commits) made since the last release.

Control your remote git hosting services from the git commandline. The usage is very simple.

It provides excellent command line help and output. It is a merge based solution. It doesn't rebase feature branches.

It is a centralized solution to manage Git repositories behind the firewall. Streamlined for small agile teams, powerful enough for large organizations.

It is a Git revision control client, implemented as a Windows shell extension and based on TortoiseSVN. It is free software released under the GNU General Public License.

diff-so-fancy builds on the good-lookin' output of git contrib's diff-highlight to upgrade your diffs' appearances.

It is a free and open-source command-line for GitHub. It provides GitHub's graphical features like pull requests, issues, releases, etc. into a terminal. So, anyone can perform the whole GitHub operation from a terminal or with a script.

Prevent Kubernetes misconfigurations from reaching production with Datree’s automated policy checks for your pipeline. The open-source CLI tool empowers engineers to write more stable configurations, so they can actually sleep at night.

These polls work by pasting individual markdown SVG images into your issue, each wrapped with a link that tracks a vote. A single vote per IP is allowed for a given poll, which are stored in DynamoDB.

If one of your developers doesn’t have node installed but modifies a JavaScript file, pre-commit automatically handles downloading and building node to run jshint without root. Pre-commit is a multi-language package manager for pre-commit hooks. You specify a list of hooks you want and pre-commit manages the installation and execution of any hook written in any language before every commit. pre-commit is specifically designed to not require root access.

Browser extensions (Chrome, Firefox, Safari and Opera) to display GitHub code in tree format. Useful for developers who frequently read source in GitHub and do not want to download or checkout too many repositories.

It is a standalone UI tool for managing git repositories. It also integrates with Windows Explorer and Microsoft Visual Studio.

DevHub helps you take back control of your GitHub workflow and stay on top of everything important going on.

GVFS virtualizes the file system beneath your git repo so that git and all tools see a fully hydrated repo, but GVFS only downloads objects as they are needed. GVFS also manages git's sparse-checkout to ensure that git operations like status, checkout, etc., can be as quick as possible.

We use GitHub a lot and notice many dumb annoyances we'd like to fix. So here be dragons.

It replaces large files such as audio samples, videos, datasets, and graphics with text pointers inside Git, while storing the file contents on a remote server like GitHub.com or GitHub Enterprise.

Clean and intuitive UI that makes it easy to understand git.

Astral pulls down all of your starred repositories on GitHub and allows you to organize them using one or more tags.

It is a simple terminal UI for git commands, written in Go with the gocui library.

It is the best way to browse and maintain your GitHub repositories on any iOS device.

The powerful Git client for iOS that clones, edits, commits, pushes & more.

LGTM is a simple pull request approval system using GitHub protected branches and maintainers files. Pull requests are locked and cannot be merged until the minimum number of approvals are received. Project maintainers can indicate their approval by commenting on the pull request and including LGTM (looks good to me) in their approval text.

Git commit message linter written in python (for Linux and Mac, experimental on Windows), checks your commit messages for style.

A low level and highly extensible git client library for reading repositories from git servers. It is written in Go from scratch, without any C dependencies.

An inbox for your GitHub account. Manage, filter, star and mark notifications and see exactly what's going on across all your repositories.

It allows you to open GitHub repositories in VSCode. Just add 1s after github and press Enter in the browser address bar for any repository you want to read.
Ship is fast everywhere. Every operation is instantaneous because the Ship app is backed by a continuously updated local cache. File issues in a few keystrokes and find just what you're looking for in a few clicks with no load times in between.

Pulls is a small cli application name to help you manage pull requests for your repository. It was created by Michael Crosby to improve the productivity of the Docker maintainers.

A GitHub-like contributions calendar, but locally, with all your git commits.

It is a lean code snippet manager based on GitHub Gist.

Rather than having to commit/push every time you want test out the changes you are making to your .github/workflows/ files (or for any changes to embedded GitHub actions), you can use this tool to run the actions locally. The environment variables and filesystem are all configured to match what GitHub provides.

TravisBuddy is a cloud service that creates comments in failed pull requests and tell the author what went wrong and what they can do to fix it.

Shrink is an macOS client for your Github issues. Easily sort between issues and pull requests you've been mentioned in, assigned or subscribed to.

Gitential is a developer productivity tool that analyzes your source code repositories to help you identify possible issues with your software development.

A simple, fast, and elegant app to manage your Github Issues.

mobile github client built with react-native

Quickly browse the history of any GitHub file

We will send you notifications when someone stars or forks one of your repositories and when someone follows or unfollows you.

Keep your pull requests automatically up-to-date and resolve your pull requests' conflicts directly from GitHub's UI. Save hundreds of hours you spend resolving conflicts by keeping always your pull requests automatically up-to-date to reduce the chance of conflicts. If conflicts are found, you can straightforwardly resolve them on GitHub's UI with a click of a button.

It is a blazing fast terminal-UI for git written in Rust. You can inspect, commit, and amend changes. It has context-based help (no need to memorize tons of hot-keys).
Check It Out lets you interactively see and choose what branch you want to check out without the hassle of trying to type out a long or confusing branch name. Checking out branches just got even simpler!

Improve GitHub code browsing experience by decorating file page with x-ref. Insight.io understands the semantics of a lot of Java, Scala, C++/C, Ruby, Python, PHP repositories at github.

Save and Organize your favorite github repositories. A chrome extension which enables bookmarking feature for github.

It provides automatic pull request merge and workflow automation. Save your time by automatically merging, commenting, rebasing, updating, labeling, backporting, closing, assigning, your pull requests.

Browse, organize and manage your GitHub Issues. "Save" any issue in one click and stay focus. Search, filter, and sort your issues instantly. Stay in the loop, and get notified of any change.

Under the hood, this application simply polls GitHub web endpoints (/pulls|/issues|/releases) of projects you specify, it doesn't require OAuth tokens or credentials entering into the extension.