LinuxCommandLibrary

git-gui

Visualize and manage Git repositories graphically

TLDR

Launch the GUI

$ git gui
copy

Show a specific file with author name and commit hash on each line
$ git gui blame [path/to/file]
copy

Open git gui blame in a specific revision
$ git gui blame [revision] [path/to/file]
copy

Open git gui blame and scroll the view to center on a specific line
$ git gui blame --line=[line] [path/to/file]
copy

Open a window to make one commit and return to the shell when it is complete
$ git gui citool
copy

Open git gui citool in the "Amend Last Commit" mode
$ git gui citool --amend
copy

Open git gui citool in a read-only mode
$ git gui citool --nocommit
copy

Show a browser for the tree of a specific branch, opening the blame tool when clicking on the files
$ git gui browser maint
copy

SYNOPSIS

git gui [options] [--] [paths…]

PARAMETERS

--all
    Show all files in working directory (modified, untracked, deleted)

--merge
    Open in merge resolution mode

--no-merges
    Exclude merges when using --all

--branch
    Use current branch history instead of --all

--branch=<branch>
    Show commits only in specified branch

--rebasing
    Open in rebase mode for current branch

--rebase=<branch>
    Open in rebase mode for specific branch

--askpass
    Use bundled SSH askpass helper

--version
    Display version and exit

--help
    Show usage information and exit

DESCRIPTION

git gui is a Tcl/Tk-based graphical user interface bundled with Git, designed for intuitive management of repositories. It provides visual tools for staging changes, creating commits, viewing diffs, browsing blame, and handling merges or rebases. The interface features a three-pane layout: a file list for unstaged/staged changes, a diff viewer, and a commit message editor. Users can drag-and-drop files to stage/unstage, amend commits, and perform quick actions like branch creation or checkout. Ideal for beginners or those preferring GUIs over CLI, it supports limiting operations to specific paths and modes like merge or rebase. Lightweight and fast, it runs in any X11 or Aqua environment with Tk support, making Git operations accessible without memorizing commands.

CAVEATS

Requires Tcl/Tk and graphical environment (X11 or macOS Aqua). Limited for advanced workflows; CLI preferred for scripting or automation.
Not all Git features available.

KEY FEATURES

Three-pane view (files, diff, commit).
Blame viewer, branch manager.
Drag-to-stage files.
Supports encoding detection.

INVOCATION

Launches main window by default.
Use git gui blame <file> for blame view.
git gui citool for commit-only mode.

HISTORY

Developed by Shawn O. Pearce starting in 2007 as Git's first official GUI. Integrated into Git core since v1.5.3.1; actively maintained with periodic updates for new Git features.

SEE ALSO

git(1), gitk(1), git-citool(1)

Copied to clipboard