Documentation / git-gui.txton commit graph: add commit graph design document (ae30d7b)
   1git-gui(1)
   2==========
   3
   4NAME
   5----
   6git-gui - A portable graphical interface to Git
   7
   8SYNOPSIS
   9--------
  10[verse]
  11'git gui' [<command>] [arguments]
  12
  13DESCRIPTION
  14-----------
  15A Tcl/Tk based graphical user interface to Git.  'git gui' focuses
  16on allowing users to make changes to their repository by making
  17new commits, amending existing ones, creating branches, performing
  18local merges, and fetching/pushing to remote repositories.
  19
  20Unlike 'gitk', 'git gui' focuses on commit generation
  21and single file annotation and does not show project history.
  22It does however supply menu actions to start a 'gitk' session from
  23within 'git gui'.
  24
  25'git gui' is known to work on all popular UNIX systems, Mac OS X,
  26and Windows (under both Cygwin and MSYS).  To the extent possible
  27OS specific user interface guidelines are followed, making 'git gui'
  28a fairly native interface for users.
  29
  30COMMANDS
  31--------
  32blame::
  33        Start a blame viewer on the specified file on the given
  34        version (or working directory if not specified).
  35
  36browser::
  37        Start a tree browser showing all files in the specified
  38        commit.  Files selected through the
  39        browser are opened in the blame viewer.
  40
  41citool::
  42        Start 'git gui' and arrange to make exactly one commit before
  43        exiting and returning to the shell.  The interface is limited
  44        to only commit actions, slightly reducing the application's
  45        startup time and simplifying the menubar.
  46
  47version::
  48        Display the currently running version of 'git gui'.
  49
  50
  51Examples
  52--------
  53`git gui blame Makefile`::
  54
  55        Show the contents of the file 'Makefile' in the current
  56        working directory, and provide annotations for both the
  57        original author of each line, and who moved the line to its
  58        current location.  The uncommitted file is annotated, and
  59        uncommitted changes (if any) are explicitly attributed to
  60        'Not Yet Committed'.
  61
  62`git gui blame v0.99.8 Makefile`::
  63
  64        Show the contents of 'Makefile' in revision 'v0.99.8'
  65        and provide annotations for each line.  Unlike the above
  66        example the file is read from the object database and not
  67        the working directory.
  68
  69`git gui blame --line=100 Makefile`::
  70
  71        Loads annotations as described above and automatically
  72        scrolls the view to center on line '100'.
  73
  74`git gui citool`::
  75
  76        Make one commit and return to the shell when it is complete.
  77        This command returns a non-zero exit code if the window was
  78        closed in any way other than by making a commit.
  79
  80`git gui citool --amend`::
  81
  82        Automatically enter the 'Amend Last Commit' mode of
  83        the interface.
  84
  85`git gui citool --nocommit`::
  86
  87        Behave as normal citool, but instead of making a commit
  88        simply terminate with a zero exit code. It still checks
  89        that the index does not contain any unmerged entries, so
  90        you can use it as a GUI version of linkgit:git-mergetool[1]
  91
  92`git citool`::
  93
  94        Same as `git gui citool` (above).
  95
  96`git gui browser maint`::
  97
  98        Show a browser for the tree of the 'maint' branch.  Files
  99        selected in the browser can be viewed with the internal
 100        blame viewer.
 101
 102SEE ALSO
 103--------
 104linkgit:gitk[1]::
 105        The Git repository browser.  Shows branches, commit history
 106        and file differences.  gitk is the utility started by
 107        'git gui''s Repository Visualize actions.
 108
 109Other
 110-----
 111'git gui' is actually maintained as an independent project, but stable
 112versions are distributed as part of the Git suite for the convenience
 113of end users.
 114
 115A 'git gui' development repository can be obtained from:
 116
 117  git clone git://repo.or.cz/git-gui.git
 118
 119or
 120
 121  git clone http://repo.or.cz/r/git-gui.git
 122
 123or browsed online at http://repo.or.cz/w/git-gui.git/[].
 124
 125GIT
 126---
 127Part of the linkgit:git[1] suite