^ git commit message中的M个字符(git commit -v)

时间:2012-03-22 15:58:35

标签: git vim line-endings

我遇到一个奇怪的问题,我的git commit消息中出现了很多^ M个字符。请找到附带的截图。这不会导致任何问题,只是让阅读烦人。

enter image description here

提示赞赏。

3 个答案:

答案 0 :(得分:10)

“正确的方法”,如果你在跨平台环境中使用Git,与Abhijeet的答案相反,是:

在每个客户端中了解并正确配置core.autocrlf设置

阅读本地主题"Why should I use core.autocrlf=true in Git?"作为良好的起点

答案 1 :(得分:5)

这是一个Windows换行符。新线和窗口& linux不同。

您可以使用dos2unix删除它。

各种方法:http://www.cyberciti.biz/faq/howto-unix-linux-convert-dos-newlines-cr-lf-unix-text-format/

答案 2 :(得分: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()