Tig 使用指南

Wavky 距离退休还剩: 30年

Tig 是一个终端下的 Git 浏览器,通过 TUI 提供多种视图来查看提交历史、diff、blame 等 Git 信息。和 lazygit 不同,tig 更侧重于浏览和查阅,而非执行 Git 操作——它不会替代 git commitgit rebase,但在查看日志和追溯代码历史方面非常高效。


安装

平台 命令
macOS brew install tig
Arch Linux sudo pacman -S tig
Ubuntu/Debian sudo apt install tig

新手指引

tig 的视图和快捷键很多,但日常使用其实只需要掌握几个场景:

1. 看提交日志

1
tig

启动后进入 main view,用 j/k 上下浏览提交,按 Enter 查看 diff,按 q 退出。这是最高频的用法。

2. 追溯某行代码的修改历史

1
tig blame src/main.py

每行代码左侧会显示最后修改它的提交和作者。按 , 可以继续回溯更早的修改,层层追溯直到找到源头。

3. 查看所有分支的分支图

1
tig --all

一目了然地看到各分支的合并和分叉关系。

4. 查看某个文件的修改历史

1
tig src/main.py

只显示涉及该文件的提交记录,快速了解一个文件经历了哪些改动。

记住这四个场景就够应付日常使用了。更多视图和快捷键可以按需查阅下方的完整说明。


启动方式

tig 可以通过不同参数直接打开对应视图:

命令 说明
tig 默认打开 main view(提交日志)
tig --all 显示所有分支的提交日志
tig <branch> 查看指定分支
tig <file> 查看指定文件的提交历史
tig blame <file> 打开 blame view
tig status 打开 status view
tig stash 打开 stash view
tig refs 打开 refs view(分支/标签)
tig grep <pattern> 搜索内容

tig 支持所有 git loggit diff 的选项,比如:

1
2
3
4
tig --since="2 weeks ago"     # 最近两周的提交
tig --author="wavky" # 按作者过滤
tig --grep="fix" # 按提交信息过滤
tig -- src/ # 查看指定目录的历史

视图概览

tig 的核心是多个 view,每个 view 对应一种查看方式:

快捷键 视图 说明
m Main 提交日志的单行摘要(默认视图)
d Diff 提交或工作区的 diff 详情
l Log 更详细的日志(包含完整提交信息和 diffstat)
t Tree 当前提交的目录结构
f Blob 文件内容查看
b Blame 逐行显示最后修改该行的提交
r Refs 分支、远程、标签列表
s Status 工作区文件状态(类似 git status
c Stage 暂存区 diff 详情
y Stash Stash 列表
g Grep 内容搜索结果
h Help 快捷键帮助

在任意视图中按对应快捷键即可跳转。按 q 关闭当前视图回到上一个,按 Q 直接退出 tig。


通用导航

所有视图共享的快捷键:

快捷键 功能
j / k 上下移动
Enter 打开选中项(查看 diff、展开目录等)
Tab 切换焦点到下一个视图
q 关闭当前视图
Q 退出 tig
R 刷新
O 最大化当前视图
/ 向前搜索
? 向后搜索
n / N 下一个 / 上一个搜索结果
Space 向下翻页
- 向上翻页

Main View(提交日志)

这是 tig 最常用的视图,启动后默认进入。显示提交历史的单行摘要,左侧带分支图。

快捷键 功能
Enter 查看选中提交的 diff
C Cherry-pick 选中的提交
G 打开 grep view
I 切换排序方式
D 切换日期显示格式
A 切换作者显示格式
X 切换 commit SHA 显示
# 切换行号

Status View(工作区状态)

通过 tig status 启动或在 tig 内按 s 进入。这是 tig 中少数可以执行修改操作的视图。

快捷键 功能
u Stage / Unstage 文件
! 丢弃文件更改(revert)
C 提交(打开编辑器写 commit message)
M Merge
Enter 查看文件的 diff

Enter 进入 Stage view 后,可以查看更详细的 diff。


Blame View(追溯)

通过 tig blame <file> 启动或在 tree/blob view 中按 b 进入。逐行显示每行代码最后是被哪个提交修改的。

快捷键 功能
, 查看父提交的 blame(追溯更早的修改)
< 返回到之前的状态
Enter 查看选中提交的 diff

blame view 非常适合追溯”这行代码是谁在什么时候改的”。按 , 可以层层回溯历史修改。


Refs View(分支和标签)

通过 tig refs 启动或按 r 进入。列出所有本地分支、远程分支和标签。

快捷键 功能
C Checkout 分支
! 删除分支
Enter 查看该分支的提交历史

Stash View

通过 tig stash 启动或按 y 进入。

快捷键 功能
A 应用 Stash(apply)
P 弹出 Stash(pop)
! 删除 Stash(drop)
Enter 查看 Stash 内容

Diff View

在 main view 中按 Enter 查看提交 diff 时进入。

快捷键 功能
[ 减少上下文行数
] 增加上下文行数
W 切换空白字符显示

[ / ] 调整上下文行数需要在 .tigrc 中配置,见下方配置章节。


快捷键速查

通用

快捷键 功能
j / k 上下移动
Enter 打开 / 展开
Tab 切换焦点
q / Q 关闭视图 / 退出
R 刷新
O 最大化视图
/ 搜索
h 帮助

视图跳转

快捷键 视图
m Main
d Diff
l Log
t Tree
b Blame
r Refs
s Status
y Stash
g Grep

Status View

快捷键 功能
u Stage / Unstage
! 丢弃更改
C 提交

配置

tig 的配置文件路径:

路径 说明
~/.tigrc 主配置文件
$XDG_CONFIG_HOME/tig/config XDG 规范备用路径(未设置该环境变量时忽略)

常用配置示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 显示设置
set line-graphics = utf-8 # 使用 UTF-8 图形字符绘制分支图
set tab-size = 4 # Tab 宽度
set commit-order = topo # 拓扑排序

# 作者和日期显示
set main-view-author = abbreviated
set main-view-date = relative

# Diff view 上下文行数调整
bind diff [ :toggle diff-context -3
bind diff ] :toggle diff-context +3

# 自定义快捷键
bind main R !git rebase -i %(commit) # 在 main view 按 R 发起交互式 rebase
bind status A !git commit --amend # 在 status view 按 A 进行 amend

# 颜色配置
color diff-header yellow default
color diff-chunk magenta default

完整配置项参考:tigrc(5)

  • Title: Tig 使用指南
  • Author: Wavky
  • Created at : 2026-02-09 00:28:17
  • Updated at : 2026-02-09 00:42:30
  • Link: https://wavky.top//tig-user-guide/
  • License: All Rights Reserved © Wavky