2012-03-22 12 views
6

Mam dziwny problem, gdy wiele^M znaków pojawia się w mojej wiadomości zatwierdzenia git. Proszę znaleźć załączony zrzut ekranu. Nie powoduje to żadnych problemów, tylko sprawia, że ​​czytanie jest irytujące.^M znaków w wiadomości zatwierdzania git (git commit -v)

enter image description here

porady mile widziane.

+0

„git commit komunikat” nie koreluje do screenshot treści, tytuł jest mylący –

+0

To jest moja git commit -v, przykro gdybym nie był precyzyjny . – Hendrik

Odpowiedz

9

„Prawidłowe Way”, jeśli używasz Git w środowisku wieloplatformowym, w przeciwieństwie do odpowiedzi Abhijeet, znajduje się:

Dowiedz i poprawnie skonfigurować core.autocrlf ustawienia każdy klient

Przeczytaj lokalny wątek "Why should I use core.autocrlf=true in Git?" jako dobry punkt wyjścia

+0

Wygląda na to, że nie rozumiem. Masz rację! – Kjuly

+0

dzięki, to działało! Konwertowałem również wszystkie moje pliki do formatu unix, wygląda na to, że repo, z którego się rozwinąłem, zostało opracowane w systemie Windows. – Hendrik

5

Thats a Windows Newline. Newlines in i windows & linux są różne.

Możesz usunąć za pomocą dos2unix.

Różne sposoby robi: http://www.cyberciti.biz/faq/howto-unix-linux-convert-dos-newlines-cr-lf-unix-text-format/

+2

Nie do końca prawdziwe: jest * częścią * nowego znaku nowej linii. W systemie Windows znak nowej linii to 'CR LF', w systemie Linux to' LF', a 'CR' jest wyświetlane jako'^M', na mac newline jest (było?) Pojedyncze 'CR'. Nie ma potrzeby używania dos2unix lub podobnego, vim może obsłużyć to poprawnie, jeśli ustawisz wymaganą wartość opcji ''fileencodings'' lub będziesz w stanie napisać' e ++ ff = dos'. – ZyX

0

jestem na oknach i zrobił nie chcesz ustawić wartości autocrlf na true. Pracowałem wokół kwestii poprzez wprowadzenie następujących w moim .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()