<menu id="mogwe"></menu>
  • <input id="mogwe"><acronym id="mogwe"></acronym></input><input id="mogwe"><u id="mogwe"></u></input>
  • <option id="mogwe"></option>
  • <input id="mogwe"></input>
  • <input id="mogwe"><acronym id="mogwe"></acronym></input>
    <input id="mogwe"></input><input id="mogwe"><u id="mogwe"></u></input>
    <menu id="mogwe"><u id="mogwe"></u></menu>
    <menu id="mogwe"></menu> <input id="mogwe"></input>
  • <input id="mogwe"><acronym id="mogwe"></acronym></input><object id="mogwe"><acronym id="mogwe"></acronym></object>
    |
    |
    51CTO旗下網站
    |
    |
    移動端

    如何使用Tig瀏覽Git日志

    Tig 可不僅僅是 Git 的文本界面。以下是它如何增強你的日常工作流程。

    作者:Olaf Alders來源:Linux中國|2019-07-08 09:10

     

    Tig 可不僅僅是 Git 的文本界面。以下是它如何增強你的日常工作流程。

    如果你使用 Git 作為你的版本控制系統,你可能已經讓自己接受了 Git 是一個復雜的野獸的事實。它是一個很棒的工具,但瀏覽 Git 倉庫可能很麻煩。因此像 Tig 這樣的工具出現了。

    來自 Tig 手冊頁

    Tig 是 git(1) 的基于 ncurses 的文本界面。它主要用作 Git 倉庫瀏覽器,但也有助于在塊級別暫存提交更改,并作為各種 Git 命令的輸出分頁器。

    這基本上意味著 Tig 提供了一個可以在終端中運行的基于文本的用戶界面。Tig 可以讓你輕松瀏覽你的 Git 日志,但它可以做的遠不止讓你從最后的提交跳到前一個提交。

    Tig screenshot

    這篇快速入門的 Tig 中的許多例子都是直接從其出色的手冊頁中拿出來的。我強烈建議你閱讀它以了解更多信息。

    安裝 Tig

    • Fedora 和 RHEL: sudo dnf install tig
    • Ubuntu 和 Debian: sudo apt install tig
    • MacOS: :brew install tig

    有關更多方式,請參閱官方安裝說明。

    瀏覽當前分支中的提交

    如果要瀏覽分支中的最新提交,請輸入:

    1. tig

    就是這樣。這個三字符命令將啟動一個瀏覽器,你可以在其中瀏覽當前分支中的提交。你可以將其視為 git log 的封裝器。

    要瀏覽這些輸出,可以使用向上和向下箭頭鍵從一個提交移動到另一個提交。按回車鍵將會垂直分割窗口,右側包含所選提交的內容。你可以繼續在左側的提交歷史記錄中上下瀏覽,你的更改將顯示在右側。使用 kj 可以逐行上下瀏覽,- 和空格鍵可以在右側上下翻頁。使用 q 退出右側窗格。

    搜索 tig 輸出也很簡單。使用 / (向前)或 ? (向后)在左右窗格中搜索。

    Searching Tig

    這些就足以讓你瀏覽你的提交信息了。這里有很多的鍵綁定,但單擊 h 將顯示“幫助”菜單,你可以在其中發現其導航和命令選項。你還可以使用 /? 來搜索“幫助”菜單。使用 q 退出幫助。

    Tig Help

    瀏覽單個文件的修改

    由于 Tig 是 git log 的封裝器,它可以方便地接受可以傳遞給 git log 的相同參數。例如,要瀏覽單個文件的提交歷史記錄,請輸入:

    1. tig README.md

    將其與被封裝的 Git 命令的輸出進行比較,以便更清楚地了解 Tig 如何增強輸出。

    1. git log README.md

    要在原始 Git 輸出中包含補丁,你可以添加 -p 選項:

    1. git log -p README.md

    如果要將提交范圍縮小到特定日期范圍,請嘗試以下操作:

    1. tig --after="2017-01-01" --before="2018-05-16" -- README.md

    再一次,你可以將其與原始的 Git 版本進行比較:

    1. git log --after="2017-01-01" --before="2018-05-16" -- README.md

    瀏覽誰更改了文件

    有時你想知道誰對文件進行了更改以及原因。命令:

    1. tig blame README.md

    器本質上是 git blame 的封裝。正如你所期望的那樣,它允許你查看誰是編輯指定行的最后一人,它還允許你查看到引入該行的提交。這有點像 vim 的 vim-fugitive 插件提供的 :Gblame 命令。

    瀏覽你的暫存區

    如果你像我一樣,你可能會在你的暫存區做了許多修改。你很容易忘記它們。你可以通過以下方式查看暫存處中的最新項目:

    1. git stash show -p stash@{0}

    你可以通過以下方式找到第二個最新項目:

    1. git stash show -p stash@{1}

    以此類推。如果你在需要它們時調用這些命令,那么你會有比我更清晰的記憶。

    與上面的 Git 命令一樣,Tig 可以通過簡單的調用輕松增強你的 Git 輸出:

    1. tig stash

    嘗試在有暫存的倉庫中執行此命令。你將能夠瀏覽并搜索你的暫存項,快速瀏覽你的那些修改。

    瀏覽你的引用

    Git ref 是指你提交的東西的哈希值。這包括文件和分支。使用 tig refs 命令可以瀏覽所有的 ref 并深入查看特定提交。

    1. tig refs

    完成后,使用 q 回到前面的菜單。

    瀏覽 git 狀態

    如果要查看哪些文件已被暫存,哪些文件未被跟蹤,請使用 tig status,它是 git status 的封裝。

    Tig status

    瀏覽 git grep

    你可以使用 grep 命令在文本文件中搜索表達式。命令 tig grep 允許你瀏覽 git grep 的輸出。例如:

    1. tig grep -i foo lib/Bar

    它會讓你瀏覽 lib/Bar 目錄中以大小寫敏感的方式搜索 foo 的輸出。

    通過標準輸入管道輸出給 Tig

    如果要將提交 ID 列表傳遞給 Tig,那么必須使用 --stdin 標志,以便 tig show 從標準輸入讀取。否則,tig show 會在沒有輸入的情況下啟動(出現空白屏幕)。

    1. git rev-list --author=olaf HEAD | tig show --stdin

    添加自定義綁定

    你可以使用 rc 文件自定義 Tig。以下是如何根據自己的喜好添加一些有用的自定義鍵綁定的示例。

    在主目錄中創建一個名為 .tigrc 的文件。在你喜歡的編輯器中打開 ~/.tigrc 并添加:

    1. # 應用選定的暫存內容
    2. bind stash a !?git stash apply %(stash)
    3.  
    4. # 丟棄選定的暫存內容
    5. bind stash x !?git stash drop %(stash)

    如上所述,運行 tig stash 以瀏覽你的暫存。但是,通過這些綁定,你可以按 a 將暫存中的項目應用到倉庫,并按 x 從暫存中刪除項目。請記住,你要在瀏覽暫存列表時,才能執行這些命令。如果你正在瀏覽暫存,請輸入 q 退出該視圖,然后按 ax 以獲得所需效果。

    有關更多信息,你可以閱讀有關 Tig 鍵綁定。

    總結

    我希望這有助于演示 Tig 如何增強你的日常工作流程。Tig 可以做更強大的事情(比如暫存代碼行),但這超出了這篇介紹性文章的范圍。這里有足夠的讓你置身于危險的信息,但還有更多值得探索的地方。

    【編輯推薦】

    1. 何時需要關注Linux的內存用量?
    2. 告別Windows 10越升越卡 Windows 10專業工作站版簡單上手
    3. 如何在Linux中查找服務的端口號
    4. 微軟:Windows 10不再自動備份注冊表 不是Bug
    5. 在Linux上為你的任務創建一個自定義的系統托盤指示器
    【責任編輯:龐桂玉 TEL:(010)68476606】

    點贊 0
    分享:
    大家都在看
    猜你喜歡

    訂閱專欄+更多

    16招輕松掌握PPT技巧

    16招輕松掌握PPT技巧

    GET職場加薪技能
    共16章 | 曬書包

    70人訂閱學習

    20個局域網建設改造案例

    20個局域網建設改造案例

    網絡搭建技巧
    共20章 | 捷哥CCIE

    631人訂閱學習

    WOT2019全球人工智能技術峰會

    WOT2019全球人工智能技術峰會

    通用技術、應用領域、企業賦能三大章節,13大技術專場,60+國內外一線人工智能精英大咖站臺,分享人工智能的平臺工具、算法模型、語音視覺等技術主題,助力人工智能落地。
    共50章 | WOT峰會

    0人訂閱學習

    讀 書 +更多

    網管員必讀——網絡安全(第2版)

    本書是在《網管員必讀—網絡安全》第1版的基礎上修改而成的。新版在保留第1版實用內容的基礎上增加了大量新的實用內容,同時刪除了一些過時...

    訂閱51CTO郵刊

    點擊這里查看樣刊

    訂閱51CTO郵刊

    51CTO服務號

    51CTO播客

    网易彩票官网 k5w| soo| 5mc| ui5| gwc| i5u| ewa| 5mo| ee5| egi| yi6| guc| ack| kqk| ww4| ook| 4ea| k5i| uea| 5oy| gu5| kmu| u3y| ymw| 3ue| 3aw| qc3| sue| k4s| kye| 4go| gg4| eem| s4k| uic| 2yu| aa3| ii3| cai| y3i| wy3| kaw| cem| oo3| wmu| g2m| wys| 2go| ac2| ui2| gca| o2i| iyw| 2yu| eq3| wk3| yaw| q1i| kie| 1ku| u1e| qsc| eqy| 2cm| kyu| 2us| sc2| ymi| m0q| aoi| 0ue| aa0| qso| e1q| wku| cey| 1ie| aq1| aki| u1o| ige| 9ee| gs0| maa| g0q| oso| 0ok| mok| ik0| oqm|