问题
I am having a weird problem where lots of ^M characters show up in my git commit message. Please find a screenshot attached. This is not causing any problems, just makes it annoying to read through.
Tips appreciated.
回答1:
"The Proper Way", if you use Git in cross-platform environment, contrary to Abhijeet's answer, is:
Learn and CORRECTLY configure core.autocrlf settings in each client
Read local topic "Why should I use core.autocrlf=true in Git?" as good starting point
回答2:
Thats a windows newline. Newlines in and windows & linux are different.
You can remove it using dos2unix.
Various ways of doing it: http://www.cyberciti.biz/faq/howto-unix-linux-convert-dos-newlines-cr-lf-unix-text-format/
回答3:
I'm on windows and did not want to set autocrlf
to true
. I worked around the issue by putting the following in my .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()
来源:https://stackoverflow.com/questions/9826002/m-characters-in-git-commit-message-git-commit-v