You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

自定义Git二进制合并工具如何设置退出码表示合并成功?

Git Mergetool 自定义工具退出码指南

我来帮你梳理Git对自定义合并工具退出码的判断逻辑,其实核心规则很清晰,只是官方文档没把细节拆解得太细:

  • 退出码 0:这是Git认可的「合并完全成功」信号。如果你的二进制文件合并程序成功处理了所有冲突,生成了无冲突的最终文件,就返回这个码。当mergetool.<tool>.trustExitCode设为true时,Git看到0就会直接标记冲突已解决,不会再弹出确认提示。

  • 退出码 1:这个码表示「合并未完成/存在未解决的冲突」。如果你的程序尝试合并但失败了,或者无法自动处理所有冲突(比如需要用户手动调整后再重新合并),就返回1。此时Git会认为合并任务没完成,即便开启了trustExitCode,也会提示你确认是否真的解决了冲突,或者是否需要重新运行工具。

另外补充两个小细节:

  • Git对非0的退出码(除了1之外的其他码,比如2、3等)的处理逻辑和1一致,都会视为合并失败,触发后续的确认提示。
  • 如果你的程序有特殊的错误场景(比如文件损坏、权限问题),返回非0码也没问题,Git都会统一判定为合并未成功,给你机会去排查问题。

总结一下:你的二进制合并程序只要在完全成功合并时返回0,合并失败/需要人工介入时返回非0码(推荐用1),Git就能正确识别并信任你的退出码啦。

内容的提问来源于stack exchange,提问作者Ackdari

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.12 03:46:58