Linux CLI 想要使用 GUI 來查看 Git Repository 的工具,比較常見的就是 tig,還有 grv 等等。
發現一套使用 RUST 寫得工具:GitUI,速度很快,只有一個執行檔,安裝使用都很方便~
GitUI:Linux CLI 查看 Git Repository 的圖形化工具
GitUI 的官方網站 就是 GitHub:GitHub - extrawurst/gitui: Blazing 💥 fast terminal-ui for git written in rust 🦀
目前 GitUI 最新版為 0.14.0,詳見 GitUI Release
GitUI 安裝方式
- wget https://github.com/extrawurst/gitui/releases/download/v0.14.0/gitui-linux-musl.tar.gz
- tar xvf gitui-linux-musl.tar.gz
- mv gitui /usr/local/bin/
再來直接在 repository 執行 gitui 就可以使用囉~
這個工具不錯,在操作上相對容易上手。
不過我還是比較偏好 tig ,因為以下原因:
1. 目前 gitui 還不能顯示 branching graph ,這點相當扣分:
https://github.com/extrawurst/gitui/issues/81
2. 不論是grv, gitui 還是其它git CLI工具都有個傾向,就是把儘可能多的資訊添加在同一個頁面。好處是使用者不需要到處跳轉頁面,但壞處是預設的UI設計不可能適合每個使用者習慣。
3. 而對 tig 來說,實際上每個頁面都有對應的 git command ,所以用pager來形容它比較貼切,因為它的工作僅僅只是將 git 的輸出上色或是重排欄位而已。
4. 承上一點,tig 在每一行中,都將各個欄位作為變數,例如使用者可以直接將該行的commit hashcode、tag name、branch name 等拿來使用key binding上。而且key binding 可以直接乎叫shell下的其它指令,因此在設定上相對靈活。(config 語法也足夠簡單)
實際上,我自訂的tigrc就有超過300行的內容:
https://github.com/typebrook/settings/blob/dev/tigrc
每個 key binding 都極大優化了我的工作流程
5. 最後一點,一款CLI工具沒預設使用jk binding 來上下移動實在是太反人類了啦XD
不過我比較驚訝的一點是在的README中有提到,gitui 在解析Linux git repository (~900k commits)時居然只耗時24秒,這是很可怕的速度啊!
gitui 能按 b 切 branch,branching graph 應該只能等了~
話說,你的 tigrc 真的很猛,來慢慢學習中~~ 感謝~~ 😀