設定與配置
取得與建立專案
基本快照
分支與合併
分享與更新專案
檢查與比較
修補
除錯
電子郵件
外部系統
伺服器管理
指南
管理
底層指令
- 2.45.1 → 2.47.0 無變更
- 2.45.0 無變更
- 2.44.1 → 2.44.2 無變更
-
2.44.0
02/23/24
- 2.43.1 → 2.43.5 無變更
-
2.43.0
11/20/23
- 2.41.1 → 2.42.3 無變更
-
2.41.0
06/01/23
- 2.38.1 → 2.40.3 無變更
-
2.38.0
10/02/22
- 2.31.1 → 2.37.7 無變更
-
2.31.0
03/15/21
- 2.22.1 → 2.30.9 無變更
-
2.22.0
06/07/19
- 2.13.7 → 2.21.4 無變更
-
2.12.5
09/22/17
- 2.10.5 → 2.11.4 無變更
-
2.9.5
07/30/17
- 2.3.10 → 2.8.6 無變更
-
2.2.3
09/04/15
- 2.1.4 無變更
-
2.0.5
12/17/14
描述
git difftool 是一個 Git 命令,允許您使用常見的差異工具比較和編輯修訂版本之間的文件。git difftool 是 git diff 的前端,並接受相同的選項和引數。請參閱 git-diff[1]。
選項
- -d
- --dir-diff
-
將修改過的文件複製到臨時位置,並對其執行目錄差異比較。此模式在啟動差異工具之前絕不提示。
- -y
- --no-prompt
-
在啟動差異工具之前不提示。
- --prompt
-
在每次調用差異工具之前提示。這是預設行為;提供此選項是為了覆寫任何組態設定。
- --rotate-to=<file>
-
開始顯示指定路徑的差異,該路徑之前的路徑將移動到結尾並輸出。
- --skip-to=<file>
-
開始顯示指定路徑的差異,跳過其之前的所有路徑。
- -t <tool>
- --tool=<tool>
-
使用 <tool> 指定的差異工具。有效值包括 emerge、kompare、meld 和 vimdiff。執行
git difftool --tool-help
以取得有效的 <tool> 設定列表。如果未指定差異工具,git difftool 將使用組態變數
diff.tool
。如果未設定組態變數diff.tool
,git difftool 將選擇合適的預設值。您可以透過設定組態變數
difftool.<tool>.path
來明確提供工具的完整路徑。例如,您可以透過設定difftool.kdiff3.path
來配置 kdiff3 的絕對路徑。否則,git difftool 假設該工具在 PATH 中可用。除了執行其中一種已知的差異工具之外,還可以自訂 git difftool,方法是在組態變數
difftool.<tool>.cmd
中指定要調用的命令列,以執行替代程式。當使用此工具調用 git difftool 時(透過
-t
或--tool
選項或diff.tool
組態變數),將會調用設定的命令列,並提供以下變數:$LOCAL
設定為包含差異前影像內容的臨時文件名稱,$REMOTE
設定為包含差異後影像內容的臨時文件名稱。$MERGED
是正在比較的文件名稱。$BASE
提供用於與自訂合併工具命令相容,並且與$MERGED
具有相同的值。 - --tool-help
-
列印可與
--tool
一起使用的差異工具清單。 - --[no-]symlinks
-
當在
--dir-diff
模式下執行時,如果比較的右側產生與工作樹中的文件相同的內容,git difftool 的預設行為是建立指向工作樹的符號連結。指定
--no-symlinks
指示 git difftool 建立副本。--no-symlinks
是 Windows 上的預設值。 - -x <command>
- --extcmd=<command>
-
指定用於檢視差異的自訂命令。當指定此選項時,git-difftool 會忽略設定的預設值,並執行
<command> $LOCAL $REMOTE
。此外,會在環境中設定$BASE
。 - -g
- --[no-]gui
-
當使用
-g
或--gui
選項調用 git-difftool 時,預設的差異工具將從設定的diff.guitool
變數而不是diff.tool
讀取。可以使用組態變數difftool.guiDefault
自動選擇此項。--no-gui
選項可用於覆寫這些設定。如果未設定diff.guitool
,我們將依序回退到merge.guitool
、diff.tool
、merge.tool
,直到找到工具為止。 - --[no-]trust-exit-code
-
預設會忽略差異工具報告的錯誤。使用
--trust-exit-code
可以讓 git-difftool 在調用的差異工具傳回非零結束代碼時結束。使用
--trust-exit-code
時,git-difftool 會轉發調用工具的結束代碼。
請參閱 git-diff[1] 以取得支援選項的完整清單。
組態
當未定義 difftool 等效變數時,git difftool 會回退到 git mergetool 組態變數。
本節中此行以上的所有內容均未包含在 git-config[1] 文件中。以下內容與其中找到的內容相同
- diff.tool
-
控制 git-difftool[1] 使用哪個差異工具。此變數會覆寫在
merge.tool
中設定的值。以下清單顯示有效的內建值。任何其他值都會被視為自訂差異工具,並且需要定義對應的 difftool.<tool>.cmd 變數。 - diff.guitool
-
當指定 -g/--gui 旗標時,控制 git-difftool[1] 使用哪個差異工具。此變數會覆寫在
merge.guitool
中設定的值。以下清單顯示有效的內建值。任何其他值都會被視為自訂差異工具,並且需要定義對應的 difftool.<guitool>.cmd 變數。 - difftool.<tool>.cmd
-
指定要調用指定差異工具的命令。指定的命令會在 shell 中評估,並提供以下變數:LOCAL 設定為包含差異前影像內容的臨時文件名稱,而 REMOTE 設定為包含差異後影像內容的臨時文件名稱。
有關更多詳細資訊,請參閱 git-difftool[1] 中的
--tool=<tool>
選項。 - difftool.<tool>.path
-
覆寫給定工具的路徑。如果您的工具不在 PATH 中,這會很有用。
- difftool.trustExitCode
-
如果調用的差異工具傳回非零結束狀態,則結束 difftool。
有關更多詳細資訊,請參閱 git-difftool[1] 中的
--trust-exit-code
選項。 - difftool.prompt
-
在每次調用差異工具之前提示。
- difftool.guiDefault
-
設定為
true
以預設使用diff.guitool
(相當於指定--gui
引數),或設定為auto
以根據是否存在DISPLAY
環境變數值來選擇diff.guitool
或diff.tool
。預設值為false
,其中必須明確提供--gui
引數才能使用diff.guitool
。
另請參閱
- git-diff[1]
-
顯示提交之間、提交與工作樹之間的變更等等
- git-mergetool[1]
-
執行合併衝突解決工具來解決合併衝突
- git-config[1]
-
取得和設定儲存庫或全域選項
GIT
屬於 git[1] 套件的一部分