tig 是一款優化 git 命令列的工具,使 git 命令列更加的便捷人性化 。如果用習慣了,會上癮。
基礎
安裝
在 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/