git提交信息中的^M字符(git commit -v)

7
我遇到了一个奇怪的问题,我的git提交消息中出现了很多^M字符。请查看附带的截图。这并不会引起任何问题,只是让阅读变得烦人。感谢任何建议。

"git提交信息"与截图内容不相关,标题误导。 - Lazy Badger
1
这是我的 git commit -v,如果我不够准确,抱歉。 - Hendrik
3个回答

10

谢谢,这个有效!我还将所有文件转换为Unix格式,看起来我从中派生的存储库是在Windows上开发的。 - Hendrik

5

2
不完全正确:它是Windows换行符的一部分。在Windows上,换行符是CR LF,在Linux上是LF,而CR显示为^M,在Mac上,换行符(曾经?)是单个CR。如果您设置了所需值的'fileencodings'选项或者始终写入e ++ff=dos,则无需使用dos2unix或类似工具,vim可以正确处理这个问题。 - ZyX

0

我使用的是Windows系统,不想将autocrlf设置为true。我通过在我的.vimrc文件中添加以下内容来解决这个问题。

" settings for git commit messages
function GitCommitSettings()
    %s/^M//g               " remove ^M added by git diff
    syntax sync fromstart  " refresh syntax highlight after replace
    1                      " move to line 1
endfunction
au BufNewFile,BufRead COMMIT_EDITMSG call GitCommitSettings()

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接