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