git-gui
Visualize and manage Git repositories graphically
TLDR
Launch the GUI
Show a specific file with author name and commit hash on each line
Open git gui blame in a specific revision
Open git gui blame and scroll the view to center on a specific line
Open a window to make one commit and return to the shell when it is complete
Open git gui citool in the "Amend Last Commit" mode
Open git gui citool in a read-only mode
Show a browser for the tree of a specific branch, opening the blame tool when clicking on the files
SYNOPSIS
git gui [command] [options]
PARAMETERS
--amend
When opening the commit tool (citool), automatically configure it to amend the previous commit. This allows modifying the last commit's message or content.
--rebase
When opening the commit tool, configure it to perform an interactive rebase, allowing you to select and reorder commits.
--detach
Detach the git-gui process from the invoking terminal, allowing the terminal to be closed without terminating the GUI application.
blame <file>
Open a blame viewer for the specified file, showing who last modified each line of code.
browser
Open a repository browser, allowing exploration of branches, tags, and commits.
citool
Explicitly open the commit tool, which is the default view when git gui is invoked without a command.
status
Open the status view, displaying current staged and unstaged changes, similar to the default view.
version
Display the version information for git-gui.
DESCRIPTION
The git-gui command provides a lightweight, Tcl/Tk-based graphical user interface for interacting with Git repositories. It simplifies common Git operations such as staging changes, committing, browsing history, and managing branches. Designed for ease of use, it allows users to visually inspect changes, perform commits, amend previous commits, and handle basic repository maintenance without needing to use the command line for every action. While not as feature-rich as some modern IDE integrations or commercial Git clients, git-gui is part of the official Git distribution and offers a robust set of functionalities for everyday Git tasks, making it an excellent tool for users who prefer a visual workflow.
It's particularly useful for new Git users or those who want a quick visual overview of their repository's status.
CAVEATS
git-gui relies on Tcl/Tk, which might need to be installed separately on some minimal Linux distributions.
While user-friendly, it may not offer the full depth of control or advanced features available via the command-line Git or more comprehensive graphical clients.
Its interface, being Tcl/Tk-based, might appear less modern than native GUI applications on some desktop environments.
CONFIGURATION
git-gui respects various Git configuration variables set using git config, such as `gui.encoding` for character encoding and `gui.recentrepo` for managing recently opened repositories. These settings can be configured globally or per-repository to customize the GUI's behavior and appearance.
HISTORY
git-gui was developed by Shawn O. Pearce and is a standard part of the official Git distribution. It was designed to provide a simple, cross-platform graphical interface for common Git operations, making Git more accessible to a broader range of users, particularly those who prefer visual tools over the command line. Its inclusion in the core Git project has made it a de facto basic GUI for Git on many systems.
SEE ALSO
gitk(1), git-add(1), git-commit(1), git-status(1), git-log(1)