2012-03-22 20 views
6

Tengo un problema raro en el que aparecen muchos caracteres^M en mi mensaje de confirmación de git. Por favor, busque una captura de pantalla adjunta. Esto no está causando ningún problema, solo hace que leer sea molesto.^M caracteres en el mensaje de confirmación de git (git commit -v)

enter image description here

Consejos apreciados.

+0

"git commit mensaje" no se correlaciona con captura de pantalla de contenido, título es engañoso –

+0

es mi git commit -v, lo siento si yo no era preciso . – Hendrik

Respuesta

9

"La manera apropiada", si se utiliza Git en el entorno multiplataforma que, contrariamente a la respuesta de Abhijeet, es:

Aprender y configurar correctamente core.autocrlf ajustes en cada cliente

Leer tema locales "Why should I use core.autocrlf=true in Git?" como buen punto de

+0

Parece que no entendí el punto. ¡Tienes razón! – Kjuly

+0

gracias, ¡funcionó! También convertí todos mis archivos al formato Unix, parece que el repositorio desde el que se bifurcó fue desarrollado en Windows. – Hendrik

5

Eso es una nueva línea de Windows. Las nuevas líneas en Windows & y Linux son diferentes.

Puede eliminarlo con dos2unix.

Diversas maneras de hacerlo: http://www.cyberciti.biz/faq/howto-unix-linux-convert-dos-newlines-cr-lf-unix-text-format/

+2

No es completamente cierto: es * parte * de una nueva línea de Windows. En windows newline es 'CR LF', en Linux es' LF' y 'CR' se muestra como'^M', en mac newline es (¿era?) Un solo 'CR'. No es necesario utilizar dos2unix o similar, vim puede manejar esto correctamente si configura el valor necesario de la opción ''fileencodings'' o si está bien escribiendo siempre' e ++ ff = dos'. – ZyX

0

partida estoy en ventanas y lo hizo no desea establecer autocrlf en true. Trabajé en torno al tema, colocando lo siguiente en mi .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()