如何使用 Tig 瀏覽 Git 日誌
Tig 可不僅僅是 Git 的文字介面。以下是它如何增強你的日常工作流程。
如果你使用 Git 作為你的版本控制系統,你可能已經讓自己接受了 Git 是一個複雜的野獸的事實。它是一個很棒的工具,但瀏覽 Git 倉庫可能很麻煩。因此像 Tig 這樣的工具出現了。
來自 Tig 手冊頁:
Tig 是
git
(1) 的基於 ncurses 的文字介面。它主要用作 Git 倉庫瀏覽器,但也有助於在塊級別暫存提交更改,並作為各種 Git 命令的輸出分頁器。
這基本上意味著 Tig 提供了一個可以在終端中執行的基於文字的使用者介面。Tig 可以讓你輕鬆瀏覽你的 Git 日誌,但它可以做的遠不止讓你從最後的提交跳到前一個提交。
這篇快速入門的 Tig 中的許多例子都是直接從其出色的手冊頁中拿出來的。我強烈建議你閱讀它以瞭解更多資訊。
安裝 Tig
- Fedora 和 RHEL:
sudo dnf install tig
- Ubuntu 和 Debian:
sudo apt install tig
- MacOS:
:brew install tig
有關更多方式,請參閱官方安裝說明。
瀏覽當前分支中的提交
如果要瀏覽分支中的最新提交,請輸入:
tig
就是這樣。這個三字元命令將啟動一個瀏覽器,你可以在其中瀏覽當前分支中的提交。你可以將其視為 git log
的封裝器。
要瀏覽這些輸出,可以使用向上和向下箭頭鍵從一個提交移動到另一個提交。按Enter鍵將會垂直分割視窗,右側包含所選提交的內容。你可以繼續在左側的提交歷史記錄中上下瀏覽,你的更改將顯示在右側。使用 k
和 j
可以逐行上下瀏覽,-
和空格鍵可以在右側上下翻頁。使用 q
退出右側窗格。
搜尋 tig
輸出也很簡單。使用 /
(向前)或 ?
(向後)在左右窗格中搜尋。
這些就足以讓你瀏覽你的提交資訊了。這裡有很多的鍵繫結,但單擊 h
將顯示“幫助”選單,你可以在其中發現其導航和命令選項。你還可以使用 /
和 ?
來搜尋“幫助”選單。使用 q
退出幫助。
瀏覽單個檔案的修改
由於 Tig 是 git log
的封裝器,它可以方便地接受可以傳遞給 git log
的相同引數。例如,要瀏覽單個檔案的提交歷史記錄,請輸入:
tig README.md
將其與被封裝的 Git 命令的輸出進行比較,以便更清楚地瞭解 Tig 如何增強輸出。
git log README.md
要在原始 Git 輸出中包含補丁,你可以新增 -p
選項:
git log -p README.md
如果要將提交範圍縮小到特定日期範圍,請嘗試以下操作:
tig --after="2017-01-01" --before="2018-05-16" -- README.md
再一次,你可以將其與原始的 Git 版本進行比較:
git log --after="2017-01-01" --before="2018-05-16" -- README.md
瀏覽誰更改了檔案
有時你想知道誰對檔案進行了更改以及原因。命令:
tig blame README.md
器本質上是 git blame
的封裝。正如你所期望的那樣,它允許你檢視誰是編輯指定行的最後一人,它還允許你檢視到引入該行的提交。這有點像 vim 的 vim-fugitive
外掛提供的 :Gblame
命令。
瀏覽你的暫存區
如果你像我一樣,你可能會在你的暫存區做了許多修改。你很容易忘記它們。你可以通過以下方式檢視暫存處中的最新專案:
git stash show -p stash@{0}
你可以通過以下方式找到第二個最新專案:
git stash show -p stash@{1}
以此類推。如果你在需要它們時呼叫這些命令,那麼你會有比我更清晰的記憶。
與上面的 Git 命令一樣,Tig 可以通過簡單的呼叫輕鬆增強你的 Git 輸出:
tig stash
嘗試在有暫存的倉庫中執行此命令。你將能夠瀏覽並搜尋你的暫存項,快速瀏覽你的那些修改。
瀏覽你的引用
Git ref 是指你提交的東西的雜湊值。這包括檔案和分支。使用 tig refs
命令可以瀏覽所有的 ref 並深入檢視特定提交。
tig refs
完成後,使用 q
回到前面的選單。
瀏覽 git 狀態
如果要檢視哪些檔案已被暫存,哪些檔案未被跟蹤,請使用 tig status
,它是 git status
的封裝。
瀏覽 git grep
你可以使用 grep
命令在文字檔案中搜尋表示式。命令 tig grep
允許你瀏覽 git grep
的輸出。例如:
tig grep -i foo lib/Bar
它會讓你瀏覽 lib/Bar
目錄中以大小寫敏感的方式搜尋 foo
的輸出。
通過標準輸入管道輸出給 Tig
如果要將提交 ID 列表傳遞給 Tig,那麼必須使用 --stdin
標誌,以便 tig show
從標準輸入讀取。否則,tig show
會在沒有輸入的情況下啟動(出現空白螢幕)。
git rev-list --author=olaf HEAD | tig show --stdin
新增自定義繫結
你可以使用 rc 檔案自定義 Tig。以下是如何根據自己的喜好新增一些有用的自定義鍵繫結的示例。
在主目錄中建立一個名為 .tigrc
的檔案。在你喜歡的編輯器中開啟 ~/.tigrc
並新增:
# 應用選定的暫存內容
bind stash a !?git stash apply %(stash)
# 丟棄選定的暫存內容
bind stash x !?git stash drop %(stash)
如上所述,執行 tig stash
以瀏覽你的暫存。但是,通過這些繫結,你可以按 a
將暫存中的專案應用到倉庫,並按 x
從暫存中刪除專案。請記住,你要在瀏覽暫存列表時,才能執行這些命令。如果你正在瀏覽暫存項,請輸入 q
退出該檢視,然後按 a
或 x
以獲得所需效果。
有關更多資訊,你可以閱讀有關 Tig 鍵繫結。
總結
我希望這有助於演示 Tig 如何增強你的日常工作流程。Tig 可以做更強大的事情(比如暫存程式碼行),但這超出了這篇介紹性文章的範圍。這裡有足夠的讓你置身於危險的資訊,但還有更多值得探索的地方。
via: https://opensource.com/article/19/6/what-tig
作者:Olaf Alders 選題:lujun9972 譯者:geekpi 校對:wxy
訂閱“Linux 中國”官方小程式來檢視
相關文章
- tig — 讓 git 命令列視覺化Git命令列視覺化
- Git reflog 引用日誌使用詳解Git
- Git 學習日誌1Git
- 基於Thinkphp5的日誌線上瀏覽擴充套件包PHP套件
- 在Visual Studio 中使用git——瀏覽版本庫(七)Git
- Git使用日記Git
- 使用瀏覽器事件瀏覽器事件
- 如何清理日誌
- 如何使用Journalctl檢視並操作Systemd日誌
- Rust中如何使用log4rs日誌?Rust
- 當瀏覽器 禁用 cookie 時 , 我們如何使用 session瀏覽器CookieSession
- 眼球研究:使用者是如何瀏覽社交APP的APP
- 使用chrome瀏覽器驅動自動開啟瀏覽器Chrome瀏覽器
- git檢視日誌的常用命令Git
- js如何判斷當前瀏覽器是否是谷歌瀏覽器JS瀏覽器谷歌
- 谷歌瀏覽器如何禁用javascript谷歌瀏覽器JavaScript
- 如何清除瀏覽器快取瀏覽器快取
- 如何在瀏覽器端加密瀏覽器加密
- 如何使用MySQL資料庫來分析Apache日誌?MySql資料庫Apache
- 如何使用 logrotate 命令保持日誌檔案更新logrotate
- 如何使用Tampermonkey開發並使用一個瀏覽器指令碼瀏覽器指令碼
- 日誌服務之使用Nginx模式採集日誌Nginx模式
- Steam使用者是如何瀏覽你的遊戲頁面的?遊戲
- edge瀏覽器能編輯pdf嗎?win10系統如何使用edge瀏覽器編輯pdf瀏覽器Win10
- 瀏覽器DevTools使用技巧瀏覽器dev
- 在瀏覽器裡使用SAPGUI瀏覽器GUI
- chrome瀏覽器使用記錄Chrome瀏覽器
- 日誌分析如何演變
- 日誌到底該如何列印?
- 微軟IE瀏覽器6月16日正式退役 準備好換瀏覽器了嗎微軟瀏覽器
- 日誌檔案和歸檔日誌檔案的關係以及如何切換日誌
- Go中使用Zap日誌庫與Lumberjack日誌切割Go
- 如何定位瀏覽器卡死問題瀏覽器
- 教你如何用瀏覽器管理 Docker瀏覽器Docker
- win10如何使用登錄檔更改預設瀏覽器_win10登錄檔如何設定預設瀏覽器Win10瀏覽器
- 【譯】瀏覽器如何工作:在現代web瀏覽器場景的之下瀏覽器Web
- Spring Boot日誌使用Spring Boot
- 使用Kafka做日誌收集Kafka