2010-12-29 7 views

Odpowiedz

14

To się dzieje, gdy plik końcowe spacje, jeśli uruchomić:

git commit --no-verify 

będzie popełnić ok. ref

+2

Komunikat ten może somtimes być przyczyną zakończeń linii crlf (Windows) można zastąpić te z UNIX zakończeń linii styl za pomocą Notatnika ++ Krótka wersja: Strg + H, rozszerzone wyszukiwanie, znajdź: \ r \ n wymień \ n Więcej szczegółów: http://stackoverflow.com/questions/133965/find-crlf-in-notepad –

+1

@ s.Daniel narzędzie linii poleceń 'dos2unix' to kolejne proste podejście do podstawienia nowej linii, które mogą być warte rozważenia –

1

Krótko mówiąc, oznacza to, że na wymienionych liniach występuje tylny biały obszar. Trwająca biel jest nieco dziwnym wyborem, a czasami jest to błąd kompilatora lub inny błąd, który może się wydarzyć.

Możesz wyczyścić te linie lub możesz wymusić zatwierdzenie właśnie tym razem, dodając flagę --no-verify do swojego zatwierdzenia git.

Alternatywnie, można po prostu wyłączyć tę kontrolę poprzez wyłączenie pre-commit haki, tak: cd .git/haki/ chmod -x pre-commit

BTW, ta odpowiedź jest pobierany z: http://danklassen.com/wordpress/2008/12/git-you-have-some-suspicious-patch-lines/

+0

Hmm .. Ale te linie są tylko wcięcia .. –

7

Uważam za niepokojące, aby całkowicie wyłączyć pre-commit. Jeśli spojrzysz na zawartość .git/hooks/pre-commit, to sprawdza również nierozwiązane konflikty merge i chciałbym to sprawdzić dalej!

Pod koniec pliku uruchamia kilka wyrażeń regularnych, które sprawdzają spacje na końcu wiersza i nieporządkowane znaki tabulatora. Właśnie skomentowałem te linie, więc ich nie szuka i pozbyłem się problemu z ostrzeżeniem przed popełnieniem błędu.


55  if (s/^\+//) { 
56   $lineno++; 
57   chomp; 
**58   # if (/\s$/) { 
59   # bad_line("trailing whitespace", $_); 
60   # } 
61   # if (/^\s* \t/) { 
62   # bad_line("indent SP followed by a TAB", $_); 
63   # }** 
64   if (/^([])\1{6} |^={7}$/) { 
65   bad_line("unresolved merge conflict", $_); 
66   } 
67  }