gitk 和 git-gui

當你安裝 Git 時,你也會得到它的視覺化工具,gitk 和 git-gui。

gitk 是一個圖形歷史檢視器。可以把它想象成一個強大的 GUI shell 而不是 git log 和 git grep。當你嘗試查詢過去發生的事情或視覺化專案的歷史記錄時,可以使用此工具。

Gitk 最容易從命令列呼叫。只需 cd 進入 Git 儲存庫,然後鍵入:

$ gitk [git log options]

Gitk 接受許多命令列選項,其中大部分都傳遞給底層的 git log 操作。可能最有用的一個是 --all 標誌,它告訴 gitk 顯示來自任何 ref 的提交,而不僅僅是 HEAD。Gitk 的介面如下所示:

StackOverflow 文件 圖 1-1。gitk 歷史檢視器。

在頂部看起來有點像 git log –graph 的輸出; 每個點代表一個提交,這些行代表父關係,refs 顯示為彩色框。黃點代表 HEAD,紅點代表尚未成為提交的更改。底部是所選提交的檢視; 左側的註釋和補丁,以及右側的摘要檢視。中間是用於搜尋歷史的控制元件集合。

你可以通過右鍵單擊分支名稱或提交訊息來訪問許多與 git 相關的功能。例如,只需點選一下即可輕鬆檢視不同的分支或櫻桃選擇提交。

另一方面,git-gui 主要是用於製作提交的工具。它也是最容易從命令列呼叫的:

$ git gui

它看起來像這樣:

git-gui 提交工具。

StackOverflow 文件

圖 1-2。git-gui 提交工具。

左邊是索引; 未分階段的更改位於頂部,在底部進行了階段性更改。你可以通過單擊其圖示在兩種狀態之間移動整個檔案,也可以通過單擊其名稱來選擇要檢視的檔案。

右上角是 diff 檢視,顯示當前所選檔案的更改。你可以通過右鍵單擊此區域來分階段個人(或單個行)。

右下角是訊息和操作區域。在文字框中鍵入你的訊息,然後單擊提交以執行類似於 git commit 的操作。你還可以通過選擇 Amend 單選按鈕來選擇修改最後一次提交,該按鈕將使用上次提交的內容更新 Staged Changes 區域。然後,你可以簡單地暫存或取消暫停某些更改,更改提交訊息,然後再次單擊提交以使用新提交替換舊提交。

gitk 和 git-gui 是面向任務的工具的例子。它們中的每一個都是為特定目的而定製的(分別檢視歷史記錄和建立提交),並省略了該任務不必要的功能。

資料來源: https //git-scm.com/book/en/v2/Git-in-Other-Environments-Graphical-Interfaces