看清變更,再決定分享什麼。GIT DIFF / 07
留下要討論的,排除不該分享的。
檢視檔案與 hunk、回到來源行。摘要只數實際變更,不猜測改動原因。
01 / 貼上 Git unified diff
僅支援 git diff --git 子集,不讀取 repo、不執行 patch。每份最多 1,000,000 UTF-16 字碼單元、20,000 實體行、每行 20,000 字碼單元(不是 bytes)。原始輸入與檢視內容仍可能含秘密,請留意螢幕分享。
貼上 diff,或先載入合成示範。
02 / 檢視與選取
預設不選任何內容。先選檔案,再逐一勾選要帶出的 hunk;選檔案不會自動選 hunk。hunk 的上下文也會匯出,這不是自動秘密偵測或逐行遮蔽。分享前請確認路徑與內容。
03 / 確認後,再下載
這是明確選取內容的審查摘錄,不是完整或可直接套用的 patch。原始 hash、mode、hunk section label 不會帶出;未選檔案與 hunk 不會匯出,但所選路徑及 hunk 上下文仍會列出。
實際審查摘錄文字
實際 JSON 內容
看見的差異,不等於改動意圖。
檔案類型、hunk 數與增刪行數都由輸入計算;不使用 AI、不推測原因、影響或執行成功。結果不完整時只列「已觀察」統計,並保留來源位置。原始 diff 行號是貼上內容的實體行;舊/新行號則是被修改檔案兩側的位置,兩者不同。
支援格式、限制與匯出規則
-
只支援
diff --git a/path b/path區塊、相符的--- / +++與@@hunks;/dev/null表示不存在的一側。不支援 plain unified、combined diff、copy、timestamp 或任意前言,不猜測格式。 - 辨識 index hash、new/deleted file mode、成對 old/new mode、similarity index 與 rename from/to;標頭只可出現一次並先於 hunk,路徑與 metadata 必須一致。新增/刪除認證需標準 mode;無 hunk 的空白新增/刪除不認定完整。純 rename 須 100% similarity 且無內容 index;純 mode 變更須成對且無內容 index。
- 無引號路徑不得含空白。含空白需 Git C 引號,支援 a、b、t、n、v、f、r、反斜線、雙引號與三位 octal UTF-8 bytes;拒絕無效 UTF-8、NUL 與未知跳脫。匯出重新引用路徑,避免換行注入標頭。
-
Hunk 為
@@ -start[,count] +start[,count] @@,省略 count 視為 1。數字為 0–1,000,000,000 安全整數,start=0 時 count 也須為 0;驗證實際計數、範圍順序與無重疊,且至少有一行增刪。no-newline marker 需緊接該側最後一行,不計入內容行數。 - 二進位/NUL 不解碼;未知標頭、無效 hunk、截斷與不一致會明示不完整。超限或 NUL 只回診斷、不保留部分檔案。支援 LF/CRLF,統一為 LF;最後一個結尾換行不計入實體行數,也可不帶結尾換行。
- 完整檔案才可匯出;原始輸入有其他不完整區塊時,仍可明確選取其中的完整檔案。內容檔需檔案與 hunk 都選取,純 rename/mode metadata 檔只需明確選檔案。預覽與下載都只使用選取 helper 重建結果,不匯出全份原始 report 或全域診斷。mode-only 摘錄不包含原 mode 變更;新增/刪除摘錄省略 mode,不保證可重解析或套用。
- 檔案/hunk ID 依當次來源行號建立,不是跨版本身份。任何編輯或重跑都清空選取;變更選取即丟棄舊預覽,須重新預覽才能下載。原始檢視保留整份已解析 hunk 文字;匯出不等於已匿名化。
免登入、不上傳、不永久保存、不產生分享 URL。清除、重新整理或離開會丟棄輸入與選取;下載是你主動儲存選取摘錄的例外。此工具不會套用 patch 或執行輸入。