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

记事本编辑Git提交消息时多行合并,core.autocrlf已为true如何解决?

Git提交消息换行失效问题排查结论

前置说明:你提到的默认提示翻译如下

# 请输入本次变更的提交消息
# 以'#'开头的行将被忽略,空消息会终止提交操作
# 当前分支:mo-dev
# 待提交的变更:
#   修改:README.txt
#   新增:new_mo_file.txt

根因分析

你遇到的问题和core.autocrlf配置无关,该配置仅作用于Git仓库中托管的普通文件的换行符转换,不涉及提交消息的编辑与读取逻辑,具体原因如下:

  • 旧版Windows系统记事本不识别LF格式换行:Git生成的提交消息临时文件默认使用LF(Unix格式)作为行结束符,Win10 1809版本之前的记事本无法识别LF换行,会将所有换行符替换为空格,导致你看到所有内容被拼接为一行。
  • 提交消息解析规则影响:Git提交消息默认将开头连续无空行分隔的内容识别为标题段,部分Git日志展示命令(如git log --oneline)会自动将标题段的换行拼接为单行展示,属于正常逻辑。
  • 未指定适配的编辑器:Git未配置专用编辑器时默认调用系统记事本,记事本本身对纯文本跨平台换行格式的兼容性极差,是该问题的核心诱因。

修复方案

  • 更换Git默认编辑器为兼容性更好的工具,比如VS Code,执行命令git config --global core.editor "code --wait"即可完成配置,后续提交时会自动唤起VS Code编辑提交消息,换行不会出现错乱。
  • 若需继续使用记事本,将Windows系统升级到Win10 1809及以上版本,该版本开始记事本已新增LF换行识别支持。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 19:57:01