設定與配置
取得與建立專案
基本快照
分支與合併
分享與更新專案
檢視與比較
修補
除錯
電子郵件
外部系統
伺服器管理
指南
管理
底層命令
- 2.44.1 → 2.47.0 無變更
-
2.44.0
02/23/24
- 2.43.1 → 2.43.5 無變更
-
2.43.0
11/20/23
- 2.30.1 → 2.42.3 無變更
-
2.30.0
12/27/20
- 2.25.1 → 2.29.3 無變更
-
2.25.0
01/13/20
- 2.22.1 → 2.24.4 無變更
-
2.22.0
06/07/19
- 2.18.1 → 2.21.4 無變更
-
2.18.0
06/21/18
- 2.13.7 → 2.17.6 無變更
-
2.12.5
09/22/17
- 2.11.4 無變更
-
2.10.5
09/22/17
-
2.9.5
07/30/17
- 2.4.12 → 2.8.6 無變更
-
2.3.10
09/28/15
- 2.2.3 無變更
-
2.1.4
12/17/14
-
2.0.5
12/17/14
選項
為了控制要顯示哪些修訂版本,gitk 支援適用於 git rev-list 命令的大多數選項。它也支援一些適用於 git diff-* 命令的選項,以控制如何顯示每個提交引入的變更。最後,它支援一些 gitk 特有的選項。
由於命令列剖析器的限制,gitk 通常只理解 stuck 形式的帶有引數的選項(請參閱 gitcli[7])。
rev-list 選項和引數
本手冊頁僅描述最常用的選項。有關完整清單,請參閱 git-rev-list[1]。
- --all
-
顯示所有參考 (分支、標籤等)。
- --branches[=<模式>]
- --tags[=<模式>]
- --remotes[=<模式>]
-
假裝所有分支(標籤、遠端分支,分別)在命令列上列為 <提交>。如果給定 <模式>,則將參考限制為符合給定 shell glob 的參考。如果模式缺少 ?、* 或 [,則暗示末尾有 /*。
- --since=<日期>
-
顯示比特定日期更新的提交。
- --until=<日期>
-
顯示比特定日期更舊的提交。
- --date-order
-
盡可能按日期排序提交。
- --merge
-
在嘗試合併停止並發生衝突後,顯示兩個分支(即 HEAD 和 MERGE_HEAD)之間修改衝突檔案且並未存在於所有正在合併的標頭中的歷史記錄中的提交。
- --left-right
-
標記提交可從對稱差異的哪一側到達。左側的提交會以
<
符號為前綴,而右側的提交則以>
符號為前綴。 - --full-history
-
使用 <路徑>… 過濾歷史記錄時,不會修剪某些歷史記錄。(有關更詳細的說明,請參閱 git-log[1] 中的「歷史記錄簡化」。)
- --simplify-merges
-
--full-history
的附加選項,可從結果歷史記錄中刪除一些不必要的合併,因為沒有選定的提交會促成此合併。(有關更詳細的說明,請參閱 git-log[1] 中的「歷史記錄簡化」。) - --ancestry-path
-
當給定要顯示的提交範圍時(例如 commit1..commit2 或 commit2 ^commit1),僅顯示直接存在於 commit1 和 commit2 之間的祖先鏈上的提交,即既是 commit1 的子代,又是 commit2 的祖先的提交。(有關更詳細的說明,請參閱 git-log[1] 中的「歷史記錄簡化」。)
- -L<開始>,<結束>:<檔案>
- -L:<函數名稱>:<檔案>
-
追蹤由 <開始>,<結束> 給定的行範圍或由 <函數名稱> 的函數名稱正規表示式在 <檔案> 內的演進。你可能不會給定任何路徑規格限制符。目前這僅限於從單個修訂版本開始的走訪,也就是說,你只能給定零個或一個正修訂版本引數,並且 <開始> 和 <結束>(或 <函數名稱>)必須存在於起始修訂版本中。你可以多次指定此選項。暗示
--patch
。可以使用--no-patch
抑制修補程式輸出,但目前尚未實作其他差異格式(即--raw
、--numstat
、--shortstat
、--dirstat
、--summary
、--name-only
、--name-status
、--check
)。<開始> 和 <結束> 可以採用下列其中一種形式
-
數字
如果 <開始> 或 <結束> 是數字,則表示絕對行號(行從 1 開始計數)。
-
/正規表示式/
此表單將使用符合給定 POSIX 正規表示式的第一行。如果 <開始> 是正規表示式,它將從先前的
-L
範圍的結尾開始搜尋,如果沒有,則從檔案的開頭開始搜尋。如果 <開始> 是^/正規表示式/
,它將從檔案的開頭開始搜尋。如果 <結束> 是正規表示式,它將從 <開始> 給定的行開始搜尋。 -
+位移或 -位移
這僅對 <結束> 有效,並將指定 <開始> 給定的行之前或之後的行數。
如果在 <開始> 和 <結束> 的位置給定
:<函數名稱>
,則它是表示從第一個符合 <函數名稱> 的函數名稱行到下一個函數名稱行的範圍的正規表示式。:<函數名稱>
從先前的-L
範圍的結尾開始搜尋,如果沒有,則從檔案的開頭開始搜尋。^:<函數名稱>
從檔案的開頭開始搜尋。函數名稱的決定方式與git diff
確定修補程式 hunk 標頭的方式相同(請參閱 gitattributes[5] 中的定義自訂 hunk 標頭)。 -
- <修訂版本範圍>
-
限制要顯示的修訂版本。這可以是單個修訂版本,表示從給定的修訂版本開始往回顯示,也可以是 "<從>..<到>" 形式的範圍,表示顯示從 <從> 開始到 <到> 為止的所有修訂版本。請注意,可以套用更進階的修訂版本選擇。有關拼寫物件名稱的更完整方式清單,請參閱 gitrevisions[7]。
- <路徑>…
-
將提交限制為觸及給定路徑中檔案的提交。請注意,為了避免與修訂版本名稱混淆,請使用 "--" 將路徑與任何先前的選項分開。
檔案
使用者配置和偏好設定儲存在
-
如果存在
$XDG_CONFIG_HOME/git/gitk
,否則 -
如果存在
$HOME/.gitk
如果以上兩者都不存在,則會建立並預設使用 $XDG_CONFIG_HOME/git/gitk
。如果未設定 $XDG_CONFIG_HOME,則在所有情況下,預設為 $HOME/.config
。
歷史記錄
Gitk 是第一個圖形儲存庫瀏覽器。它是用 tcl/tk 編寫的。
gitk 實際上是作為獨立專案維護的,但為了方便終端使用者,穩定版本會作為 Git 套件的一部分發布。
gitk-git/ 來自 Paul Mackerras 的 gitk 專案
git://ozlabs.org/~paulus/gitk
GIT
git[1] 套件的一部分