Postman导出JSON集合时行尾从CRLF转LF引发Git提交警告的解决求助
Postman导出JSON集合行尾格式变更触发Git警告
问题描述
Postman在导出JSON集合文件时,会自动将原文件的CRLF(Windows)行尾转换为LF(Unix)行尾,导致向Git提交该文件时触发格式警告。请问是否有其他开发者遇到过相同问题?除已梳理的临时方案外,是否存在更优的解决方法?
运行环境参数
- Windows 10
- Postman 8.0.3 版本
- Notepad++ 7.9.1 版本
复现步骤
- 使用Notepad++确认待导入的Postman集合JSON文件行尾为CRLF(Windows)格式
- 将该Postman集合文件导入到Scratchpad工作区
- 做一处微小改动,例如重命名某个请求(改动会被自动保存)
- 导出该集合,选择保存/覆盖回之前导入的原始文件路径
- 切回Notepad++时会提示重新加载文件,选择"是"完成重载
- 使用Notepad++检查可发现,该Postman集合JSON文件的行尾已意外从CRLF(Windows)变为LF(Unix)格式
- 将该文件添加到Git暂存区,即可看到对应的警告。注:此处使用Git Extensions操作,但命令行执行时也会出现相同警告
.gitattributes配置说明
我的.gitattributes文件包含如下配置:
* text=auto encoding=UTF-8 *.sh text eol=lf *.service text eol=lf
- 其中
text=auto encoding=UTF-8用于设置文本/JSON类文件的默认行尾处理规则
现有临时方案
为规避上述警告,目前每次修改、导出并提交Postman集合文件时,都需要执行以下额外操作(经同事验证,其设备上也会出现相同行为),但这类重复劳动本可避免:
- 完成上述复现步骤后,先将该文件从Git暂存区移除
- 使用Notepad++将Postman文件的行尾从LF(Unix)改回CRLF(Windows)格式
- 在Notepad++中保存修改后的文件
- 再将文件添加到Git暂存区,警告即会消失
截图说明
- 图1:行尾格式检查界面
- 图2:Git提交警告界面
参考资料
- Git中LF将被替换为CRLF的含义及影响说明
- Windows Git行尾转换警告的逻辑探讨
- Postman官方支持仓库Issue #190
- Postman官方支持仓库Issue #726
- Postman官方支持仓库Issue #4179
内容的提问来源于stack exchange,提问作者Mike
相关产品推荐
相关产品推荐

