设置和配置
获取和创建项目
基本快照
分支和合并
共享和更新项目
检查和比较
修补
调试
邮件
外部系统
服务器管理
指南
管理
底层命令
- 2.44.1 → 2.47.0 无更改
- 2.44.0 02/23/24
- 2.43.1 → 2.43.5 无更改
- 2.43.0 11/20/23
- 2.30.1 → 2.42.3 无更改
- 2.30.0 12/27/20
- 2.25.1 → 2.29.3 无更改
- 2.25.0 01/13/20
- 2.22.1 → 2.24.4 无更改
- 2.22.0 06/07/19
- 2.18.1 → 2.21.4 无更改
- 2.18.0 06/21/18
- 2.13.7 → 2.17.6 无更改
- 2.12.5 09/22/17
- 2.11.4 无更改
- 2.10.5 09/22/17
- 2.9.5 07/30/17
- 2.4.12 → 2.8.6 无更改
- 2.3.10 09/28/15
- 2.2.3 无更改
- 2.1.4 12/17/14
- 2.0.5 12/17/14
选项
为了控制显示哪些修订版本,gitk 支持适用于 git rev-list 命令的大多数选项。它还支持一些适用于 git diff-* 命令的选项,以控制如何显示每个提交引入的更改。最后,它支持一些 gitk 特定的选项。
由于命令行解析器的限制,gitk 通常只理解粘贴形式的参数选项(参见 gitcli[7])。
rev-list 选项和参数
本手册页仅描述最常用的选项。有关完整列表,请参见 git-rev-list[1]。
- --all
-
显示所有引用(分支、标签等)。
- --branches[=<pattern>]
- --tags[=<pattern>]
- --remotes[=<pattern>]
-
假装所有分支(标签、远程分支,依此类推)都列在命令行上作为 <commit>。如果给出了 <pattern>,则将引用限制为与给定 shell 通配符匹配的引用。如果模式缺少 ?、* 或 [,则隐含在末尾添加 /*。
- --since=<date>
-
显示比特定日期更新的提交。
- --until=<date>
-
显示比特定日期旧的提交。
- --date-order
-
尽可能按日期对提交进行排序。
- --merge
-
在合并尝试因冲突而停止后,显示两个分支(即 HEAD 和 MERGE_HEAD)之间修改冲突文件的历史记录上的提交,并且这些提交不存在于所有正在合并的头部。
- --left-right
-
标记提交可从哪个对称差异的哪一侧访问。左侧的提交以
<
符号为前缀,右侧的提交以>
符号为前缀。 - --full-history
-
当使用 <path>… 过滤历史记录时,不会修剪某些历史记录。(有关更详细的解释,请参见 git-log[1] 中的“历史记录简化”。)
- --simplify-merges
-
--full-history
的附加选项,用于从结果历史记录中删除一些不必要的合并,因为没有选定的提交有助于此合并。(有关更详细的解释,请参见 git-log[1] 中的“历史记录简化”。) - --ancestry-path
-
当给定要显示的提交范围(例如 commit1..commit2 或 commit2 ^commit1)时,仅显示存在于 commit1 和 commit2 之间的祖先链上的提交,即同时是 commit1 的后代和 commit2 的祖先的提交。(有关更详细的解释,请参见 git-log[1] 中的“历史记录简化”。)
- -L<start>,<end>:<file>
- -L:<funcname>:<file>
-
跟踪在 <file> 中由 <start>,<end> 或函数名称正则表达式 <funcname> 给出的行范围的演变。您可能不会给出任何路径规范限制符。这目前仅限于从单个修订版本开始的遍历,即,您只能给出零个或一个正修订版本参数,并且 <start> 和 <end>(或 <funcname>)必须存在于起始修订版本中。您可以多次指定此选项。隐含
--patch
。补丁输出可以使用--no-patch
抑制,但其他差异格式(即--raw
、--numstat
、--shortstat
、--dirstat
、--summary
、--name-only
、--name-status
、--check
)目前未实现。<start> 和 <end> 可以采用以下其中一种形式
-
数字
如果 <start> 或 <end> 是一个数字,则它指定一个绝对行号(行从 1 开始计数)。
-
/正则表达式/
此表单将使用与给定 POSIX 正则表达式匹配的第一行。如果 <start> 是一个正则表达式,它将从任何先前
-L
范围的末尾开始搜索,否则从文件开头开始搜索。如果 <start> 是^/正则表达式/
,它将从文件开头开始搜索。如果 <end> 是一个正则表达式,它将从 <start> 给出的行开始搜索。 -
+偏移量或-偏移量
这仅对 <end> 有效,并且将指定在 <start> 给出的行之前或之后的行数。
如果在 <start> 和 <end> 的位置给出了
:<funcname>
,则它是一个正则表达式,表示从与 <funcname> 匹配的第一个 funcname 行到下一个 funcname 行的范围。:<funcname>
从任何先前-L
范围的末尾开始搜索,否则从文件开头开始搜索。^:<funcname>
从文件开头开始搜索。函数名称的确定方式与git diff
确定补丁块标题的方式相同(请参见 gitattributes[5] 中的定义自定义块标题)。 -
- <修订版本范围>
-
限制要显示的修订版本。这可以是单个修订版本,表示从给定修订版本开始并向后显示,也可以是“<from>..<to>”形式的范围,以显示从 <from> 到 <to> 之间的所有修订版本。请注意,可以应用更高级的修订版本选择。有关指定对象名称的方法的完整列表,请参见 gitrevisions[7]。
- <path>…
-
将提交限制为修改给定路径中的文件的提交。请注意,为避免与修订版本名称产生歧义,请使用“--”将路径与任何前面的选项分隔开。
文件
用户配置和首选项存储在
-
$XDG_CONFIG_HOME/git/gitk
(如果存在)中,否则存储在 -
$HOME/.gitk
(如果存在)中
如果以上两者都不存在,则默认情况下创建并使用 $XDG_CONFIG_HOME/git/gitk
。如果未设置 $XDG_CONFIG_HOME,则在所有情况下都默认为 $HOME/.config
。
历史记录
Gitk 是第一个图形化仓库浏览器。它使用 tcl/tk 编写。
gitk 实际上作为一个独立项目维护,但为了方便最终用户,稳定版本会作为 Git 套件的一部分进行分发。
gitk-git/ 来自 Paul Mackerras 的 gitk 项目
git://ozlabs.org/~paulus/gitk
Git
是 git[1] 套件的一部分