在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真的會是不錯的小工具