简介
Tig 是一个 基于 ncurses 的 Git 文本模式界面,它允许你浏览 Git 仓库中的更改。它还可以充当各种 Git 命令输出的分页器。使用这个工具可以让我很好地了解在哪个提交中发生了哪些更改,最新的提交合并是什么等等。
git工作原理:https://learngitbranching.js.org/
安装Tig
在 Linux 上,你可以使用包管理器安装 Tig。例如,在 Fedora 和 Mageia 上:
sudo dnf install tig
在 Debian、Linux Mint、Elementary、Pop_OS 和其他基于 Debian 的发行版上:
sudo apt install tig
使用 Tig
Tig高频使用命令
1.浏览当前分支中的提交
tig
要浏览这些输出,可以使用向上和向下箭头键从一个提交移动到另一个提交。按回车键将会垂直分割窗口,右侧包含所选提交的内容。你可以继续在左侧的提交历史记录中上下浏览,你的更改将显示在右侧。使用 k和 j 可以逐行上下浏览,- 和空格键可以在右侧上下翻页。使用 q 退出右侧窗格。
2.浏览单个文件的修改
由于 Tig 是 git log 的封装器,它可以方便地接受可以传递给 git log 的相同参数。例如,要浏览单个文件的提交历史记录,请输入:
tig README.md
将其与被封装的 Git 命令的输出进行比较,以便更清楚地了解 Tig 如何增强输出。
git log README.md
要在原始 Git 输出中包含补丁,你可以添加 -p 选项:
git log -p README.md
3.浏览谁更改了文件
有时你想知道谁对文件进行了更改以及原因。命令:
tig blame README.md
4.浏览你的暂存区
如果你像我一样,你可能会在你的暂存区做了许多修改。你很容易忘记它们。你可以通过以下方式查看暂存处中的最新项目:
git stash show -p stash@{0}
你可以通过以下方式找到第二个最新项目:
git stash show -p stash@{1}
5.浏览 git 状态
git status
在使用 Git 命令的过程中, 最高频的命令应该是 git status, 主要用来查看 staged changes 和 unstaged changes, 通过 tig, 可以很方便的像刚才查看 commit 那样查看 staged changes 和 unstaged changes, 敲 tig 进入 log 界面后, 排在最上面的便是 staged changes 和 unstaged changes。
6.搜索命令
tig 也自带搜索功能, 敲 / 即可进入, 输入字符后回车, 将高亮展示所有匹配项, 敲 n 将聚焦到离当前焦点最近的下方的匹配项, 大写 N 则是上方的匹配项, 敲回车将展示详情.
Tig帮助命令
在 Git 项目中敲 tig, 进入 tig 界面后再敲 h (代表help) 即可进入帮助界面, 该界面列出了所有常用命令项目分支下直接敲 tig, 进入到了 log 界面, 使用 j/k 或 上/下 键可以选择指定提交, 回车后, 界面的一半会展示此次commit详情, 此时, 上/下 键可以选择 log 中的 commit, 详情界面会跟着变化, 而 j/k 键会在 commit 详情内移动焦点, 选中 commit 中列出的文件, 回车会跳转到该文件的详情, 而使用 @ 可以按照代码块的粒度来浏览 commit 中的内容, 通过这些操作, 我们可以很容易的快速浏览log 中多个commit 中的内容, 而这一点通过 Git 命令或 GUI 都是很难快速方便的完成的.