Git合并提交时遇「等待编辑器关闭文件」错误的原因与解决方法
Git合并时unix2dos转换MERGE_MSG文件的问题解决
问题原因
使用git merge --no-ff newbranch时,Git会自动打开编辑器让你编辑合并提交信息,此时你的系统中安装的unix2dos工具自动对.git/MERGE_MSG这个临时文件进行了DOS格式转换,干扰了Git等待编辑器关闭文件的正常流程,从而出现该提示。本质是Git的编辑器调用流程和unix2dos的自动文件转换规则发生了冲突。
解决办法
临时完成合并
- 检查是否有编辑器窗口被打开(可能是后台或默认编辑器如vim),编辑合并提交信息(也可直接保存使用默认信息),关闭编辑器后Git会继续完成合并操作。
- 若编辑器未正常弹出,可通过
git config --global core.editor查看当前默认编辑器,确保设置为你能正常使用的编辑器(比如notepad++或vim)。
永久避免冲突
- 关闭Git自动行尾格式转换:执行以下命令全局配置Git,禁止自动转换行尾格式,避免和unix2dos冲突:
git config --global core.autocrlf false - 排除unix2dos对Git文件的处理:修改unix2dos的配置规则,添加对
.git目录下所有文件的忽略,不让其自动转换这些文件。 - 卸载无用工具:如果日常不需要unix2dos工具,直接卸载它即可彻底消除该冲突。
内容的提问来源于stack exchange,提问作者sheshank
相关产品推荐
相关产品推荐

