要解决的问题
准备修改服务配置前,先比较旧版和新版能帮助发现端口、路径等变化。两个文件不必位于 Git 仓库中。以下命令只比较文件,不应用补丁、不重启服务,也不把内容上传到远端。
适用环境
已安装 Git;示例命令在包含两份测试文件的目录执行。
操作步骤与示例
将以下内容放在对应终端或脚本中执行。示例路径、服务名需要与你的环境一致。
git diff --no-index -- old.conf new.conf如何判断结果
先各自创建一份测试文本:old.conf 写 port=8000,new.conf 写 port=9000。输出中的减号行来自旧文件,加号行来自新文件。发现差异时此模式通常返回退出码 1,因此自动脚本不能把所有非零退出码都等同于比较过程损坏。
常见问题与排查
如果提示文件不存在,先检查当前目录和带空格路径的引号。末尾换行及行尾格式也会影响文本比较。忽略空白选项可能隐藏重要变化,首次核对配置时应先查看完整差异。
适用边界
差异显示不证明配置有效。应用前还需对应软件的语法检查和业务验证。包含密码的配置不宜直接把完整差异贴到公开渠道;只读比较也可能在终端留下敏感内容。