设置和配置
获取和创建项目
基本快照
分支与合并
共享和更新项目
检查和比较
打补丁
调试
电子邮件
外部系统
服务器管理
- 2.44.1 → 2.50.1 无更改
-
2.44.0
2024-02-23
- 2.43.1 → 2.43.7 无更改
-
2.43.0
2023-11-20
- 2.30.1 → 2.42.4 无更改
-
2.30.0
2020-12-27
- 2.25.1 → 2.29.3 无更改
-
2.25.0
2020-01-13
- 2.22.1 → 2.24.4 无更改
-
2.22.0
2019-06-07
- 2.18.1 → 2.21.4 无变更
-
2.18.0
2018-06-21
- 2.13.7 → 2.17.6 无更改
-
2.12.5
2017-09-22
- 2.11.4 无更改
-
2.10.5
2017-09-22
-
2.9.5
2017-07-30
- 2.4.12 → 2.8.6 无更改
-
2.3.10
2015-09-28
- 2.2.3 无变更
-
2.1.4
2014-12-17
-
2.0.5
2014-12-17
选项
为了控制显示哪些修订,gitk 支持适用于 git rev-list 命令的大多数选项。它还支持一些适用于 git diff-* 命令的选项,以控制如何显示每个提交引入的更改。最后,它还支持一些 gitk 特定的选项。
由于命令行解析器的限制,gitk 通常只理解以 stuck 形式(参见 gitcli[7])带有参数的选项。
rev-list 选项和参数
本手册页仅描述最常用的选项。有关完整列表,请参阅 git-rev-list[1]。
- --all
-
显示所有引用(分支、标签等)。
- --branches[=<pattern>]
- --tags[=<pattern>]
- --remotes[=<pattern>]
-
假装所有分支(标签、远程分支,分别)都在命令行上列为 <commit>。如果给出 <pattern>,则将引用限制为匹配给定 shell glob 的引用。如果模式缺少 ?、* 或 [,则隐含在末尾加上 /*。
- --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>
-
跟踪由 <start>,<end> 或函数名正则表达式 <funcname> 给定的行范围在 <file> 中的演变。您不能提供任何路径规范限制符。目前这仅限于从单个修订版开始的遍历,即,您只能提供零个或一个正修订版参数,并且 <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> 是^/regex/
,它将从文件开头开始搜索。如果 <end> 是一个正则表达式,它将从 <start> 给定的行开始搜索。 -
+偏移量 或 -偏移量
这仅对 <end> 有效,并将指定 <start> 给定行之前或之后的行数。
如果用
:
<funcname> 替换 <start> 和 <end>,它是一个正则表达式,表示从匹配 <funcname> 的第一个函数名行到下一个函数名行的范围。:
<funcname> 从前一个-L
范围的末尾开始搜索(如果存在),否则从文件开头开始。^:
<funcname> 从文件开头开始搜索。函数名的确定方式与git
diff
计算补丁块头部的方式相同(参见 gitattributes[5] 中的 定义自定义块头部)。 -
- <修订范围>
-
限制要显示的修订。这可以是一个单独的修订,表示从给定修订开始向后显示,也可以是“<from>..<to>”形式的范围,以显示 <from> 和 <to> 之间的所有修订。请注意,可以应用更高级的修订选择。有关拼写对象名称的更完整列表,请参阅 gitrevisions[7]。
- <路径>…
-
将提交限制为涉及给定路径中文件的提交。请注意,为避免与修订名称产生歧义,请使用“--”将路径与任何前面的选项分开。
文件
用户配置和偏好设置存储在
-
如果存在,则为
$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