tig 是一款優化 git 命令行的工具,使 git 命令行更加的便捷人性化 。若是用習慣了,會上癮。html
在 Mac 上最簡單的方式是使用 Homebrew:git
brew install tig
複製代碼
其餘安裝方式請參考這裏github
如下內容建議閱讀時在 repository 親手操做shell
安裝成功後,在 Repo 文件夾下,輸入 【 tig 】+ 【 Enter 】便可進入 tig 模式。此時展示在面前的將會是本地全部的 commit 記錄以及分支的演化。vim
【 j 】【 k 】可上下切換選中的行,【 Enter 】可分屏查看當前 commit 記錄詳情,【 l + q 】,全屏查看 commit 記錄。bash
【 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 】 使用。ui
【 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 意思是在 status view 模式下(【 s 】鍵進入)纔會生效,P 的功能爲 git push。
bind status P !git push
複製代碼
! 表明當即執行。
在 .tigrc
文件中:
bind refs C ?git checkout %(branch)
複製代碼
表明 refs view 模式下,鍵入【 C 】checkout 分支,執行前會請求確認。
注意設置映射關係後需重啓終端。更多功能請自行挖掘:)
若是對 git 的工做原理不是特別的熟悉,能夠走一遍下面的教程,相信你會對 git 有更深入的理解。