簡易tig指令

在Linux CLI界面下,tig可說是git的GUI版,可以方便查看git的狀況

簡易tig指令

# 簡介

在一般Linux console下的git都是以打CLI為主,這幾年來也很多GUI的界面,但在console下,有沒有一個比較好的模擬GUI界面的git呢?

有的!

把git的名字反過來,就是了,它叫做tig,是個輕量級的小軟體

# 打基礎

先來點簡單的操作

// 安裝

Ubuntu下,安裝tig的指令…

sudo apt install -y tig

// 畫面簡介

可控制的項目 解釋
view 顯示於螢幕上的畫面
cursor 類似編輯器的光棒,用於選擇指定的項目

// view

一開始進入的話畫面,是main畫面
基本上就是git log的畫面
在這個時候,使用快捷鍵進行切換就可以跳到不同的git畫面
不同的git畫面,也有自己定義的按鍵
所以若和下面列表的按鍵重疊
這時可以先切回主畫面(按q),再用按鍵切換畫面喔!

畫面名稱 快捷鍵 解釋
main m 主畫面,主要是git log,還可顯示分支圖
diff d 顯示git diff的畫面,可增減顯示diff的範圍
log l 單純的git log
ref r 能顯示所有branch, tag等
tree t 檢視git內的blob,也就是git紀錄下的檔案結構
blob f 檢視git紀錄的特定file
blame b 檢視檔案內的每一行,對應的commit是哪些
stash y 顯示git的暫存空間

// 操作

常用的光標和畫面的操作 (這兩個效果不一樣喔)
基本上與vim的操作一致

快捷鍵 功能
j, k 上下移動
C-u, C-d 半頁 [上/下] 移動
enter, q [進/出]特定view

還有一些是萬用的快捷鍵

快捷鍵 功能
e (光標移到檔案名稱上面) 開啟光標指定的檔案
:! 執行外部git指令
例如:輸入「:!git check master」
(比較陽春的功能,過程中若需要轉入編輯器畫面可能就會出問題)

# 進階一點

如果只是光標或畫面移動而已,就太無聊了,也沒什麼必要性
tig提供一些常用的功能,搭配GUI畫面提供的資訊
不用cmd敲來敲去,相對變得自由很多

下面介紹一些特定view底下,比較簡單操作git的快捷鍵

// main view

快捷鍵 功能
G 顯示branch或commit間的圖像關係
C cherry-pick某筆commit

// diff view

快捷鍵 功能
‘[’ or ‘]’ [擴大/縮小]顯示目標diff周圍的程式碼

// ref view

Reference指的是branch或tag

快捷鍵 功能
C checkout(切換)到目標reference
D delete目標reference

// stash view

快捷鍵 功能
A 套用暫存檔的修改內容
P 套用暫存檔的修改,併同時移除站存檔(pop的概念)
! 直接移除暫存檔drop

// 補充

tig算是界面比較單純簡單的小工具
在同一個view下,不會顯示太多的訊息
提供操作git的功能,相對也比較單純
其實可能才是真正符合多數人的操作
不用處理複雜的branch操作
或說是大家都能按照commit正常流程完成
那tig真的會是不錯的小工具

發表留言