14 - tig - git 的文字介面

Git 是开发者们最常接触到的工具之一,大部分的专案都使用它作为版本控制的工具。使用者可以直接用 git 指令对 Git 进行不同的操作,而使用者需要查阅各种资讯(例如 statuslog 等)时,也可以使用指令叫用 Git 来输出对应的资料。

但是 Git 本身在控制版本时有图形(分支)的概念,并且有许多的档案与列表,在查阅时需要频繁地来回以比较不同,这使得以文字来提供资讯的 git 会较难提供使用者一个清晰的说明。

许多人会选择改用 GUI 工具来操作 Git ,但是这样做就是多了一个视窗,多走了一步,此举势必会降低效率。

直观地 Git 介面命令工具 - tig

tig 是个命令列工具,它可以将 Git 的资讯更直观地显示出来,并且在切换档案、 Commit 等的时候,可以使用按键进行切换,而不需要再输入一次命令。

安装 tig

使用 Homebrew 安装 tig

brew install tig

安装完成後,可以使用命令 tig 启动功能。

使用 tig

直接输入 tig ,它会将目前分支中的 Commit 列表显示出来。

tig

https://ithelp.ithome.com.tw/upload/images/20210930/20107789kBjod5HZff.png

可以看到它会描绘出其他分支合并的状态,以线与点的方式呈现。

tig 内,可以直接按下 h 查阅各个指令。

使用 jk 键上下移动,如果想要观看 Commit 的详细资讯,可以移至目标 Commit 後按下 Enter

https://ithelp.ithome.com.tw/upload/images/20210930/20107789JtLDTyA5cu.png

你可以看到它会列出这个 Commit 的资讯与修改的档案及内容,如果要快速移动到特定的档案内容,可以使用 jk 移动到想要查阅的档案上并按下 Enter

如果要切换回 Commit 列表的话,可以使用 TAB 在两个视窗间来回切换,如果不想要切换的话,可以使用 JK 改变选取的 Commit 。

如果想要将视窗放到最大的话,可以使用 O (大写字母)。

想要关闭 tig 时,输入 Ctrl-C 就可以退出 tig

搜寻

tig 内,可以输入 / ,後面输入想要搜寻的字串,就可以进行查找,并利用 nN 在各个结果间切换。

https://ithelp.ithome.com.tw/upload/images/20210930/20107789oiC3hLbf1v.png

在各个不同的视窗间切换

当我们在 tig 内时,我们可以使用各种快捷键在不同功能的视窗间切换:

快捷键 前置条件 动作
m 不需要 显示主视窗
d 选取 Commit 或在特定 Commit 内 显示 Diff 视窗
l 不需要 显示 Log 视窗
L 不需要 显示 Reflog 视窗
t 选取 Commit 或在特定 Commit 内 显示目录
f 选取特定的档案 显示档案内容
b 选取特定的档案 显示 Blame 视窗
r 不需要 显示 Refs (分支与标签列表)视窗
sS 不需要 显示 Status 视窗
c 选取 stage 档案 显示 Stage 视窗
y 不需要 显示 Stash 视窗
g 不需要 搜索 Git History 中的内容
h 不需要 开启 Helper 视窗

本文重点整理

  • 指令 git 的资讯显示较为阳春,无法交互地选择与切换各个档案、分支。
  • tig 是个 Git 的文字介面,它可以使用交互的方式在各个不同的视窗切换,并取得 Git 相关的资讯。
  • tig 会直接进入 tig 工具中,可以浏览目前分支与 Commit 的状态。
  • jk 可以上下移动。
  • Enter 可以进入 Commit 节点,查看详细的修改。
  • TAB 可以在不同视窗间切换。
  • JK 可以再不离开细节视窗下切换 Commit 节点。
  • O 可以将视窗放大。
  • Ctrl-C 可以离开视窗。
  • tig 中,可以使用快捷键切换各种视窗。
    • m 可以切换至主视窗。
    • l 切换至 Log 视窗。
    • t 切换至当前 Commit 节点的目录。
    • f 切换至档案内容视窗。
    • b 切换至 Blame 视窗。
    • s 切换至 Status 视窗。
    • y 切换至 Stash 视窗。
    • h 切换是 Helper 视窗。

参考资料


<<:  Day 16 实作个资隐私盘点

>>:  Day22 Alerts简介

全端入门Day04_何谓全端之前端终篇

昨天说到了前端的御三家,HTML、CSS、JavaScript 今天要介绍的是除了这3个,还有很常用...

第 12 集:Sass 编译环境

此篇会介绍三种免费的 sass 编译方法。 Live Sass Compiler 这是一款免费 V...

第 30 天 - 总结

最後一天了,本来想继续写些技术的东西,但我就烂,最後一天就轻松一点,写个总结吧! 参加这次比赛最崩溃...

Day03 建立一个 React 专案

1.建立一个新的React 专案 npx create-react-app first-app cd...

RISC-V: 介绍

系列文章主要是为了练习规律产出,实验性质比较重一点, 内容会根据目前的反馈做出一点改变,欢迎感兴趣的...