GIT 差異檢視 · macOS

在 Mac 上讀懂 Git 改動

Yenpo 是一款原生 Mac 原始碼閱讀應用,也能審查已提交的 Git 改動。開啟本機儲存庫,選擇提交或分支,從變更檔案樹進入唯讀的行內 diff,圍繞確定的版本分析修補程式改變了什麼。

v0.1.303 EAP · Apple silicon & Intel · macOS 14+到期日期 (UTC)

01 / 適合什麼任務

把修補程式和相關原始碼一起讀

想弄清一個提交的作用、審查功能分支,或調查可能的回歸時,可以用 Yenpo。對比固定到具體的 base 和 head 提交;分支之後更新,也不會改變正在審查的範圍。需要看新提交時,再開啟一個新對比。

瀏覽 diff、開啟檔案、搜尋本機程式碼都不需要模型帳號。安裝了對應語言伺服器、且它能理解專案時,還可以藉助導覽查詢定義和引用。

檔案搜尋與語言伺服器要求

02 / 先確定問題

看一個提交、兩個分支末端,還是分叉以來的改動

這個提交改了什麼?

提交

第一個父提交 → 選中的提交;根提交與空樹比較。

檢查一個修補程式;合併提交只顯示相對第一個父提交的改動。

兩個分支現在差在哪?

直接比較

選定的 base 分支末端 → head 分支末端。

比較兩個已提交的快照;任一分支上的改動都可能影響結果。

這個分支從分叉以來改了什麼?

分叉以來

共同祖先(merge base)→ 選中的 head。

檢視功能分支引入的改動;這種比較不會模擬合併或預測衝突。

選擇比較方式,核對提交 ID

還不熟悉修補程式格式?從比較基準到 hunk,跟著例子讀懂 Git diff。

03 / 多看一步上下文

幾行改動,也可能依賴沒改過的程式碼

在 Promise 快取案例裡,拒絕處理函式會從快取中刪除失敗的讀取。沒改過的 invalidate 函式讓這段清理變得危險:呼叫方可以在讀取 A 尚未結束時使它失效,再發起讀取 B。隨後 A 失敗,清理邏輯刪掉 B,下一次呼叫便重複讀取。

  1. 先從變更檔案樹開啟行內 diff,讀修改過的函式。
  2. 再讀與它互動的函式,找出能觸發這個順序的呼叫方。注意每個標籤頁的版本:目前工作檔案可能與選中的 head 不同。
  3. 回到基線版本,區分本次引入的回歸和原有問題。自己執行針對性的測試,確認懷疑的順序是否能重現。

閱讀完整的快取審查與修復

04 / 可選的 AI 審查

圍繞選定的對比提問

對比欄可以準備一份附加了目前對比的 AI Reader 草稿。核對內容後再傳送。對比對話始終唯讀;請沿原始碼引用核對每個發現,並自己執行建議的測試。

AI 審查需要先設定模型服務商。問題和相關程式碼會傳送到該服務商的端點,使用範圍與費用由其帳號和定價決定。本機檢視 diff 無需這一步。

從 diff 繼續到 AI 輔助原始碼閱讀 ·連線模型 · 資料去向與編輯權限

安裝 Yenpo,開啟你的儲存庫
試用 Yenpo EAP

等 AI 下次改完程式碼,
用它看看。

改動、diff 和搜尋開啟就能用。想問 AI Reader 時,再連線模型服務商。

下載 EAP

App 介面支援英文、簡體中文、繁體中文、日文、西班牙文、巴西葡萄牙文、韓文、德文、法文和俄文。

v0.1.303 EAP · Apple silicon & Intel · macOS 14+到期日期 (UTC)