For a GUI client for browsing and managing git repositories, the strongest matches are sourcegit-scm/sourcegit (SourceGit is a fully-featured cross-platform desktop Git GUI client), desktop/desktop (GitHub Desktop is a full-featured Git GUI client with) and gitbutlerapp/gitbutler (GitButler is a cross-platform desktop Git client with a). git-cola/git-cola and neogitorg/neogit round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.
Desktop applications providing visual interfaces for managing version control workflows and browsing local git repositories.
SourceGit is a cross-platform desktop Git GUI client and version control tool compatible with Windows, macOS, and Linux. It provides a graphical user interface for cloning, merging, and analyzing code changes, acting as a visual manager for Git repositories. The application includes an AI-powered commit generator to draft standardized commit messages and a pull request manager to initiate and manage merges across supported hosting services via web APIs. The software covers broad version control capabilities, including advanced operations such as interactive rebasing, cherry-picking, and subm
SourceGit is a fully-featured cross-platform desktop Git GUI client that provides a visual commit graph, staging interface, diff viewer, branch management, and remote integration via pull request and clone operations, making it an excellent fit for managing Git repositories visually.
This project is a graphical desktop client for managing version control repositories. It provides a visual interface that translates complex command-line operations into intuitive workflows for tracking local code changes and synchronizing them with remote servers. The application distinguishes itself through integrated credential management and network configuration tools. It utilizes secure authentication flows to handle remote service logins and includes a network layer that automatically detects and applies system-wide proxy settings. These capabilities ensure that version control operati
GitHub Desktop is a full-featured Git GUI client with a visual commit graph, staging interface, diff viewer, branch management, and seamless remote integration, all packaged in a cross-platform Electron app — exactly matching this search.
GitButler is a desktop application designed for managing Git version control workflows. It provides a visual interface for organizing concurrent development tasks, allowing users to work on multiple features or bug fixes simultaneously within a single repository without the need for manual context switching. The application utilizes a virtual file system overlay and in-memory staging to track granular file modifications independently of the underlying version control system. It features a conflict isolation engine that breaks down complex merge conflicts into smaller, manageable segments, and
GitButler is a cross-platform desktop Git client with a visual interface for managing branches, staging, and conflicts, fitting your search for a GUI tool to browse and interact with repositories.
git-cola: The highly caffeinated Git GUI
git-cola is a mature, cross-platform Git GUI client that offers a visual commit graph, interactive staging, inline diffs, and comprehensive branch and remote management, matching everything a user would want in a desktop Git browsing tool.
Neogit is a visual Git version control client designed for managing repositories through staging, committing, pushing, and merging. It provides a suite of tools for inspecting code differences, visualizing commit history via a graphical branch tree, and automating event-based workflows. The project features a workflow automation system that triggers custom logic and notifications based on repository events, such as branch creation or pushes. It also includes utilities for generating direct deep-links to commits, pull requests, and file structures on remote version control hosting providers.
Neogit is a Git client plugin for Neovim, providing visual commit graphs, staging, and diff viewing inside a terminal-based editor, but it is not a standalone desktop or web-based GUI application as your search seeks.
Magit is a complete Git interface that runs inside Emacs, providing a full-featured porcelain for version control operations without leaving the editor. It renders repository state as structured, collapsible sections within Emacs buffers, and manages Git command execution through a transactional process model with automatic buffer refresh and error handling. The interface exposes all configuration through Emacs' standard customization system and uses a transient command framework for context-sensitive menu-driven Git operations. What distinguishes Magit is its granular control over every stag
Magit is a complete Git interface that runs inside Emacs, providing rich Git operations, but it is an editor plugin rather than a self-contained desktop or web-based graphical tool, which is what this search seeks.
diffview.nvim is a Git diff tool for Neovim that provides a dedicated interface for visualizing and managing differences across files and revisions. It functions as a revision browser and history tracker, allowing users to compare the working tree or index against specific Git tags, branches, or commits. The project includes specialized utilities for managing the Git index, such as a stage manager for staging specific diff hunks directly from a buffer. It also features a multi-way diff layout for resolving merge conflicts by comparing target and source branches during merges or rebases. Beyo
This is a Neovim plugin for viewing Git diffs and staging hunks, not a standalone graphical Git client—it lacks a visual commit graph, branch management UI, and remote integration expected from a full GUI tool.
Gitui is a terminal user interface and repository manager built with Rust. It provides a keyboard-driven visual environment for performing version control operations without the need to type manual command line arguments. The application enables the management of Git branches, commits, and remote synchronization, alongside capabilities for stashing temporary work and managing submodules. It includes support for GPG commit signing to verify identity through cryptographic signatures. Users can customize the experience through keyboard shortcut rebinding and visual theme adjustments. The interf
Gitui is a terminal-based visual Git client with many features like a staging interface and branch management, but it runs in the terminal as a keyboard-driven TUI rather than as a traditional desktop or web-based graphical windowing app, so it's a neighboring category to what the visitor is looking for.
Gitsigns.nvim is a Neovim plugin that integrates Git diff visualization, blame annotations, and hunk-based staging directly into the editor buffer. It renders add, modify, and delete indicators in the sign column for tracked files, and provides inline or popup blame annotations showing commit authorship and date for each line. The plugin operates on individual diff hunks as atomic units for staging, reverting, and navigation, all executed asynchronously via Neovim's job control API to avoid blocking the UI. The plugin distinguishes itself by enabling hunk-level staging and resetting directly
Gitsigns.nvim is a Neovim plugin that adds Git diff and hunk staging to the editor buffer, but it is not a standalone graphical Git client—it lacks a visual commit graph, branch management, and remote integration features, making it a complementary tool rather than the full GUI client you're looking for.
gas-github is a GitHub repository management client and Git version control interface. It provides tools for synchronizing code between a local editor and remote servers, including the ability to create and organize repositories and branches. The project includes integration for GitHub Gists, allowing the transfer and hosting of lightweight code snippets and scripts. It also features a code review system for comparing file differences and adding comments to specific modifications. The system handles authentication through secure tokens and multi-factor identity verification. It coordinates v
gas-github is a Chrome extension that provides GitHub-specific repository management and diff viewing, but it lacks a visual commit graph and staging interface, so it is a specialized GitHub client rather than a full general-purpose Git GUI tool.
Lazygit is a terminal-based user interface designed to simplify version control operations through a keyboard-driven workflow. It functions as a visual abstraction layer that bridges native commands with an interactive environment, allowing users to manage repository history, branches, and commit workflows without relying solely on manual command-line input. The tool distinguishes itself by automating complex version control tasks that typically require multiple manual steps. It provides specialized interfaces for interactive rebasing, commit history amendment, and binary search-based regress
Lazygit is a terminal-based TUI that provides visual Git operations like commit graphs, staging, and diff viewing, but it runs in the terminal and is not a desktop or web-based graphical tool as requested.
forgit is a shell-based interactive CLI wrapper that uses a fuzzy finder to transform Git output into selection menus. It functions as a workflow accelerator and history browser, replacing manual command entry with searchable interfaces for version control operations. The tool provides specialized managers for Git worktrees and an interactive history browser for visualizing commit logs, reflogs, and blame data. It differentiates itself by wrapping native Git subcommands in selection logic, allowing users to pick targets before executing final operations. Its capabilities cover interactive fi
forgit is an interactive terminal-based Git wrapper that uses a fuzzy finder for staging, diffs, and history browsing, but it is not a graphical desktop or web GUI — it augments the command line rather than providing a visual interface with a commit graph and point-and-click controls.
| Repository | Stars | Language | License | Last push |
|---|---|---|---|---|
| sourcegit-scm/sourcegit | 5.4K | C# | MIT | |
| desktop/desktop | 21.6K | TypeScript | MIT | |
| gitbutlerapp/gitbutler | 19.5K | Rust | other | |
| git-cola/git-cola | 2.5K | Python | GPL-2.0 | |
| neogitorg/neogit | 5.4K | Lua | MIT | |
| magit/magit | 7.1K | Emacs Lisp | GPL-3.0 | |
| sindrets/diffview.nvim | 5.4K | Lua | other | |
| extrawurst/gitui | 22.1K | Rust | MIT | |
| lewis6991/gitsigns.nvim | 6.6K | Lua | mit | |
| leonhartx/gas-github | 3.9K | JavaScript | mit |