1GITK(1) Git Manual GITK(1)
2
3
4
6 gitk - The Git repository browser
7
9 gitk [<options>] [<revision range>] [--] [<path>...]
10
12 Displays changes in a repository or a selected set of commits. This
13 includes visualizing the commit graph, showing information related to
14 each commit, and the files in the trees of each revision.
15
17 To control which revisions to show, gitk supports most options
18 applicable to the git rev-list command. It also supports a few options
19 applicable to the git diff-* commands to control how the changes each
20 commit introduces are shown. Finally, it supports some gitk-specific
21 options.
22
23 gitk generally only understands options with arguments in the stuck
24 form (see gitcli(7)) due to limitations in the command-line parser.
25
26 rev-list options and arguments
27 This manual page describes only the most frequently used options. See
28 git-rev-list(1) for a complete list.
29
30 --all
31 Show all refs (branches, tags, etc.).
32
33 --branches[=<pattern>], --tags[=<pattern>], --remotes[=<pattern>]
34 Pretend as if all the branches (tags, remote branches, resp.) are
35 listed on the command line as <commit>. If <pattern> is given,
36 limit refs to ones matching given shell glob. If pattern lacks ?,
37 *, or [, /* at the end is implied.
38
39 --since=<date>
40 Show commits more recent than a specific date.
41
42 --until=<date>
43 Show commits older than a specific date.
44
45 --date-order
46 Sort commits by date when possible.
47
48 --merge
49 After an attempt to merge stops with conflicts, show the commits on
50 the history between two branches (i.e. the HEAD and the MERGE_HEAD)
51 that modify the conflicted files and do not exist on all the heads
52 being merged.
53
54 --left-right
55 Mark which side of a symmetric difference a commit is reachable
56 from. Commits from the left side are prefixed with a < symbol and
57 those from the right with a > symbol.
58
59 --full-history
60 When filtering history with <path>..., does not prune some history.
61 (See "History simplification" in git-log(1) for a more detailed
62 explanation.)
63
64 --simplify-merges
65 Additional option to --full-history to remove some needless merges
66 from the resulting history, as there are no selected commits
67 contributing to this merge. (See "History simplification" in git-
68 log(1) for a more detailed explanation.)
69
70 --ancestry-path
71 When given a range of commits to display (e.g. commit1..commit2 or
72 commit2 ^commit1), only display commits that exist directly on the
73 ancestry chain between the commit1 and commit2, i.e. commits that
74 are both descendants of commit1, and ancestors of commit2. (See
75 "History simplification" in git-log(1) for a more detailed
76 explanation.)
77
78 -L<start>,<end>:<file>, -L:<funcname>:<file>
79 Trace the evolution of the line range given by <start>,<end>, or by
80 the function name regex <funcname>, within the <file>. You may not
81 give any pathspec limiters. This is currently limited to a walk
82 starting from a single revision, i.e., you may only give zero or
83 one positive revision arguments, and <start> and <end> (or
84 <funcname>) must exist in the starting revision. You can specify
85 this option more than once. Implies --patch. Patch output can be
86 suppressed using --no-patch, but other diff formats (namely --raw,
87 --numstat, --shortstat, --dirstat, --summary, --name-only,
88 --name-status, --check) are not currently implemented.
89
90 <start> and <end> can take one of these forms:
91
92 • number
93
94 If <start> or <end> is a number, it specifies an absolute line
95 number (lines count from 1).
96
97 • /regex/
98
99 This form will use the first line matching the given POSIX
100 regex. If <start> is a regex, it will search from the end of
101 the previous -L range, if any, otherwise from the start of
102 file. If <start> is ^/regex/, it will search from the start of
103 file. If <end> is a regex, it will search starting at the line
104 given by <start>.
105
106 • +offset or -offset
107
108 This is only valid for <end> and will specify a number of lines
109 before or after the line given by <start>.
110
111 If :<funcname> is given in place of <start> and <end>, it is a
112 regular expression that denotes the range from the first funcname
113 line that matches <funcname>, up to the next funcname line.
114 :<funcname> searches from the end of the previous -L range, if any,
115 otherwise from the start of file. ^:<funcname> searches from the
116 start of file. The function names are determined in the same way as
117 git diff works out patch hunk headers (see Defining a custom
118 hunk-header in gitattributes(5)).
119
120 <revision range>
121 Limit the revisions to show. This can be either a single revision
122 meaning show from the given revision and back, or it can be a range
123 in the form "<from>..<to>" to show all revisions between <from> and
124 back to <to>. Note, more advanced revision selection can be
125 applied. For a more complete list of ways to spell object names,
126 see gitrevisions(7).
127
128 <path>...
129 Limit commits to the ones touching files in the given paths. Note,
130 to avoid ambiguity with respect to revision names use "--" to
131 separate the paths from any preceding options.
132
133 gitk-specific options
134 --argscmd=<command>
135 Command to be run each time gitk has to determine the revision
136 range to show. The command is expected to print on its standard
137 output a list of additional revisions to be shown, one per line.
138 Use this instead of explicitly specifying a <revision range> if the
139 set of commits to show may vary between refreshes.
140
141 --select-commit=<ref>
142 Select the specified commit after loading the graph. Default
143 behavior is equivalent to specifying --select-commit=HEAD.
144
146 gitk v2.6.12.. include/scsi drivers/scsi
147 Show the changes since version v2.6.12 that changed any file in the
148 include/scsi or drivers/scsi subdirectories
149
150 gitk --since="2 weeks ago" -- gitk
151 Show the changes during the last two weeks to the file gitk. The
152 "--" is necessary to avoid confusion with the branch named gitk
153
154 gitk --max-count=100 --all -- Makefile
155 Show at most 100 changes made to the file Makefile. Instead of only
156 looking for changes in the current branch look in all branches.
157
159 User configuration and preferences are stored at:
160
161 • $XDG_CONFIG_HOME/git/gitk if it exists, otherwise
162
163 • $HOME/.gitk if it exists
164
165 If neither of the above exist then $XDG_CONFIG_HOME/git/gitk is created
166 and used by default. If $XDG_CONFIG_HOME is not set it defaults to
167 $HOME/.config in all cases.
168
170 Gitk was the first graphical repository browser. It’s written in
171 tcl/tk.
172
173 gitk is actually maintained as an independent project, but stable
174 versions are distributed as part of the Git suite for the convenience
175 of end users.
176
177 gitk-git/ comes from Paul Mackerras’s gitk project:
178
179 git://ozlabs.org/~paulus/gitk
180
182 qgit(1)
183 A repository browser written in C++ using Qt.
184
185 tig(1)
186 A minimal repository browser and Git tool output highlighter
187 written in C using Ncurses.
188
190 Part of the git(1) suite
191
192
193
194Git 2.43.0 11/20/2023 GITK(1)