macOS 上的 Git 工作流

macOS 上的 Git 差异工具

ABDiff 是一款适用于 macOS 的原生 Git diff 与 merge 工具,可配合 git difftool 和 git mergetool 使用,并在终端 diff 不够用时保持本地审查流程。

当你需要目视审查变更、谨慎解决冲突,或在不离开应用的情况下并排加载旧版本时,它尤其合适。

  • git difftool
  • git mergetool
  • 三方合并
  • 版本加载
  • 键盘优先审查
macOS 上的 ABDiff 文本差异视图
ABDiff 文本差异视图

为什么要使用原生 Git 差异工具?

  • 当单词级修改、变更块和面板间复制操作能同时看到时,文本变更会更容易审查。
  • 当只有结果文件可编辑,并且 base、local、remote 版本保持明确时,合并冲突更不容易出错。
  • 有些审查需要语义或视觉判断,而不只是终端中的行级补丁。

ABDiff 提供了什么

  • 统一视图、并排视图以及带连接线的文本差异布局。
  • 带显式冲突区域和独立结果面板的三方合并。
  • 在差异视图中直接加载 Git 历史版本以进行本地历史审查。
  • 补丁导出、键盘导航以及纯本地工作流。

ABDiff 如何融入 Git 工作流

工作流需求 ABDiff 的作用
审查 Git 中变更的文件 使用 git difftool,或直接打开文件,以带有词级高亮的并排方式进行审查。
解决合并冲突 使用 git mergetool,并将 BASE、LOCAL、REMOTE、RESULT 输入映射到 ABDiff 的三方合并界面。
查看较早的版本 直接把旧的 Git 版本加载到面板中,而不是在多个工具之间来回切换。
让仓库数据保留在本地 ABDiff 以本地为先,不需要上传文件,也不依赖云端审查流水线。

常见的 Git 配置

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 工作流指南。

相关页面