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