tig — 讓 git 命令列視覺化

Smallfly發表於2018-05-15

tig 是一款優化 git 命令列的工具,使 git 命令列更加的便捷人性化 。如果用習慣了,會上癮。

image

基礎

安裝

在 Mac 上最簡單的方式是使用 Homebrew

brew install tig
複製程式碼

其他安裝方式請參考這裡

使用

以下內容建議閱讀時在 repository 親手操作

安裝成功後,在 Repo 資料夾下,輸入 【 tig 】+ 【 Enter 】即可進入 tig 模式。此時展現在面前的將會是本地所有的 commit 記錄以及分支的演化。

【 j 】【 k 】可上下切換選中的行,【 Enter 】可分屏檢視當前 commit 記錄詳情,【 l 】小寫的 L,全屏檢視 commit 記錄。

【 r 】進入 refs view 模式,檢視所有分支,使用 【 j/k 】上下切換, 【 Enter 】檢視分支演化。

【 s 】進入 status view,效果同 git status 命令,會展示所有 Untracked 和 UnStaged 檔案。 選中 Unstaged 的檔案鍵入【 u 】效果同 git add ,選中 staged 的檔案鍵入 【 u 】效果同 git reset,即撤銷 add 操作。【 Enter 】檢視分屏檢視當前檔案的修改記錄。

status view 模式下鍵入 【 C 】進入 vim 編輯器,【 i 】進入編輯模式,在第一行輸入 commit 資訊,【 :x 】退出並儲存。【 m 】檢視 commit 記錄。

【 c 】進入 stash view 模式,全屏檢視修改記錄,可配合 【 s 】 使用。

【 t 】進入 tree view 模式,git 目錄會以資料夾的形式展示。【 Enter】進入子目錄,【 , 】返回上一級目錄。

【 m 】進入 main view 檢視當前分支的所有 commit 記錄,使用 【 j/k 】上下切換,【 回車 】可分屏檢視 commit 詳情。同樣,【 j/k 】上下移動,【空格】翻頁。

main view 可以認為是主頁。

【 / 】輸入關鍵字可進行搜尋。

【 R 】重新整理當前頁面,可退出搜尋的高亮狀態。

【 Q 】退出 tig。

【 h 】檢視快捷鍵幫助。

tig 可以設定作用域,如果只想關注某個資料夾的修改記錄,可使用 【 tig 資料夾名】。

如果只想展示某一段時間的 commit 記錄, tig --after=“2018-01-01 --before="2018-05-12”。如果希望不寫引號,可以使用tig --after==May.10th`。

在分屏狀態下,使用 Tab 切換左右螢幕,也可以在選中右側螢幕時,按住 【 shift 】上下切換操作效果會在左側螢幕生效。

從以上的介紹來看,tig 更偏向於檢視(view)。

進階篇

上文快捷鍵其實是預設的配置,所以我們可以自定義。自定義檔案在~/.tigrc目錄,如果安裝完成後沒有這個檔案,需自行建立,並拷貝系統配置 後進行修改。

例如,不喜歡【 t 】顯示的資料夾顏色,可以將 blue 改為 red。

color "tree "			blue	default
複製程式碼

tig 支援 bind 的語法,來實現自定義快捷鍵,對映到具體的 git 命令。bind status 意思是在 statsu view 模式下(【 s 】鍵進入)才會生效,P 的功能為 git push。

bind status P !git push
複製程式碼

! 代表立即執行。

.tigrc 檔案中:

bind refs       C       ?git checkout %(branch)
複製程式碼

代表 refs view 模式下,鍵入【 C 】checkout 分支,執行前會請求確認。

注意設定對映關係後需重啟終端。更多功能請自行挖掘:)

推薦

如果對 git 的工作原理不是特別的熟悉,可以走一遍下面的教程,相信你會對 git 有更深刻的理解。

https://learngitbranching.js.org/

參考: Manual · Tig - Text-mode interface for Git

相關文章