'\" t
.\"     Title: git-gui
.\"    Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
.\" Generator: DocBook XSL Stylesheets v1.79.2 <http://docbook.sf.net/>
.\"      Date: 2025-10-15
.\"    Manual: Git Manual
.\"    Source: Git 2.51.1.471.g143f58ef75
.\"  Language: English
.\"
.TH "GIT\-GUI" "1" "2025-10-15" "Git 2\&.51\&.1\&.471\&.g143f58" "Git Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
git-gui \- A portable graphical interface to Git
.SH "SYNOPSIS"
.sp
.nf
\fIgit gui\fR [<command>] [<arguments>]
.fi
.SH "DESCRIPTION"
.sp
A Tcl/Tk based graphical user interface to Git\&. \fIgit gui\fR focuses on allowing users to make changes to their repository by making new commits, amending existing ones, creating branches, performing local merges, and fetching/pushing to remote repositories\&.
.sp
Unlike \fIgitk\fR, \fIgit gui\fR focuses on commit generation and single file annotation and does not show project history\&. It does however supply menu actions to start a \fIgitk\fR session from within \fIgit gui\fR\&.
.sp
\fIgit gui\fR is known to work on all popular UNIX systems, Mac OS X, and Windows (under both Cygwin and MSYS)\&. To the extent possible OS specific user interface guidelines are followed, making \fIgit gui\fR a fairly native interface for users\&.
.SH "COMMANDS"
.PP
blame
.RS 4
Start a blame viewer on the specified file on the given version (or working directory if not specified)\&.
.RE
.PP
browser
.RS 4
Start a tree browser showing all files in the specified commit\&. Files selected through the browser are opened in the blame viewer\&.
.RE
.PP
citool
.RS 4
Start
\fIgit gui\fR
and arrange to make exactly one commit before exiting and returning to the shell\&. The interface is limited to only commit actions, slightly reducing the application\(cqs startup time and simplifying the menubar\&.
.RE
.PP
version
.RS 4
Display the currently running version of
\fIgit gui\fR\&.
.RE
.SH "EXAMPLES"
.PP
\fBgit\fR \fBgui\fR \fBblame\fR \fBMakefile\fR
.RS 4
Show the contents of the file
\fIMakefile\fR
in the current working directory, and provide annotations for both the original author of each line, and who moved the line to its current location\&. The uncommitted file is annotated, and uncommitted changes (if any) are explicitly attributed to
\fINot Yet Committed\fR\&.
.RE
.PP
\fBgit\fR \fBgui\fR \fBblame\fR \fBv0\&.99\&.8\fR \fBMakefile\fR
.RS 4
Show the contents of
\fIMakefile\fR
in revision
\fIv0\&.99\&.8\fR
and provide annotations for each line\&. Unlike the above example the file is read from the object database and not the working directory\&.
.RE
.PP
\fBgit\fR \fBgui\fR \fBblame\fR \fB\-\-line=100\fR \fBMakefile\fR
.RS 4
Loads annotations as described above and automatically scrolls the view to center on line
\fI100\fR\&.
.RE
.PP
\fBgit\fR \fBgui\fR \fBcitool\fR
.RS 4
Make one commit and return to the shell when it is complete\&. This command returns a non\-zero exit code if the window was closed in any way other than by making a commit\&.
.RE
.PP
\fBgit\fR \fBgui\fR \fBcitool\fR \fB\-\-amend\fR
.RS 4
Automatically enter the
\fIAmend Last Commit\fR
mode of the interface\&.
.RE
.PP
\fBgit\fR \fBgui\fR \fBcitool\fR \fB\-\-nocommit\fR
.RS 4
Behave as normal citool, but instead of making a commit simply terminate with a zero exit code\&. It still checks that the index does not contain any unmerged entries, so you can use it as a GUI version of
\fBgit-mergetool\fR(1)
.RE
.PP
\fBgit\fR \fBcitool\fR
.RS 4
Same as
\fBgit\fR
\fBgui\fR
\fBcitool\fR
(above)\&.
.RE
.PP
\fBgit\fR \fBgui\fR \fBbrowser\fR \fBmaint\fR
.RS 4
Show a browser for the tree of the
\fImaint\fR
branch\&. Files selected in the browser can be viewed with the internal blame viewer\&.
.RE
.SH "SEE ALSO"
.PP
\fBgitk\fR(1)
.RS 4
The Git repository browser\&. Shows branches, commit history and file differences\&. gitk is the utility started by
\fIgit gui\fR\*(Aqs Repository Visualize actions\&.
.RE
.SH "OTHER"
.sp
\fIgit gui\fR is actually maintained as an independent project, but stable versions are distributed as part of the Git suite for the convenience of end users\&.
.sp
The official repository of the \fIgit gui\fR project can be found at:
.sp
.if n \{\
.RS 4
.\}
.nf
https://github\&.com/j6t/git\-gui
.fi
.if n \{\
.RE
.\}
.SH "GIT"
.sp
Part of the \fBgit\fR(1) suite
