本包目录(613 条)
文件与目录76 条
文本处理77 条
网络命令82 条进程与作业69 条磁盘与文件系统51 条用户与权限44 条日志与排查40 条systemd 与服务42 条包管理34 条性能与监控48 条定时任务与计划50 条

diff3 三方合并

把「我方 + 基线 + 对方」三份文件做三方比较合并,输出冲突标记结果:手工合并两处独立修改、核对配置变更。

Linux 运维命令速查系统更新于 2026-10-12
用途三路比较与合并(mine/base/yours)
语法diff3 -m MYFILE OLDFILE YOURFILE
冲突标记<<<<<<< ======= >>>>>>> 夹住的区块需人工处理

常用示例

常用示例
diff3 -m config.local config.base config.remote > config.merged
# 冲突段形如:
# <<<<<<< config.local
# 我方的行
# ||||||| config.base
# 基线行
# =======
# 对方的行
# >>>>>>> config.remote
顺序记牢:先「我的文件」、再「共同基线」、最后「对方文件」——顺序错合并结果就反。

易错点

  • -m 只输出到 stdout:要落地必须重定向,冲突段处理后要再验证内容
  • 两边各自大改过的文件合并价值低:先 diff 看差异规模,再决定是否值得三方合并

数据来源与参考

  • man 1 diff3(GNU diffutils 手册)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌