为什么要使用原生 Git 差异工具?
- 当单词级修改、变更块和面板间复制操作能同时看到时,文本变更会更容易审查。
- 当只有结果文件可编辑,并且 base、local、remote 版本保持明确时,合并冲突更不容易出错。
- 有些审查需要语义或视觉判断,而不只是终端中的行级补丁。
macOS 上的 Git 工作流
ABDiff 是一款适用于 macOS 的原生 Git diff 与 merge 工具,可配合 git difftool 和 git mergetool 使用,并在终端 diff 不够用时保持本地审查流程。
当你需要目视审查变更、谨慎解决冲突,或在不离开应用的情况下并排加载旧版本时,它尤其合适。
| 工作流需求 | ABDiff 的作用 |
|---|---|
| 审查 Git 中变更的文件 | 使用 git difftool,或直接打开文件,以带有词级高亮的并排方式进行审查。 |
| 解决合并冲突 | 使用 git mergetool,并将 BASE、LOCAL、REMOTE、RESULT 输入映射到 ABDiff 的三方合并界面。 |
| 查看较早的版本 | 直接把旧的 Git 版本加载到面板中,而不是在多个工具之间来回切换。 |
| 让仓库数据保留在本地 | ABDiff 以本地为先,不需要上传文件,也不依赖云端审查流水线。 |
git config --global diff.tool abd
git config --global difftool.prompt false
git config --global difftool.abd.cmd 'abd --local "$LOCAL" --remote "$REMOTE"'
git config --global merge.tool abd
git config --global mergetool.abd.trustExitCode true
git config --global mergetool.abd.cmd 'abd --base "$BASE" --local "$LOCAL" --remote "$REMOTE" --result "$MERGED"'
完整配置和冲突处理细节可参见 Git 集成手册页面以及更完整的 Git diff / merge 工作流指南。