^M characters in git commit message (git commit -v)

眉间皱痕 提交于 2019-12-22 04:59:14

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!