Edytuję niektóre pliki markdown sklonowanego zdalnego repozytorium i chciałem przetestować tworzenie i stosowanie poprawek z jednej gałęzi do drugiej. Jednak za każdym razem, gdy w ogóle wprowadzam jakąkolwiek zmianę, w trakcie git apply
:
0001-b.patch:16: trailing whitespace.
warning: 1 line adds whitespace errors.
(Dzieje się to na moim Macu i nie wiem, gdzie został utworzony oryginalny kod).
Co oznacza komunikat ostrzegawczy i czy muszę się tym przejmować?
git
whitespace
patch
git-patch
Yarin
źródło
źródło
Odpowiedzi:
Nie musisz się tym przejmować.
Ostrzeżenie to ustanawia standard czystości plików tekstowych w odniesieniu do białych znaków, tego rodzaju rzeczy, na których zależy wielu programistom. Jak wyjaśnia podręcznik :
Zatem „błąd” oznacza, że zmiana wprowadza na końcu biały znak, linię zawierającą tylko białe znaki lub spację poprzedzającą tabulator. Poza tym nie ma nic błędnego w zmianie, a zastosuje się ona czysto i poprawnie. Innymi słowy, jeśli nie przejmujesz się „niepoprawnymi” białymi znakami, możesz zignorować ostrzeżenie lub wyłączyć je za pomocą
git config apply.whitespace nowarn
.źródło
git show
- jeśli twój dupek robi kolory, zobaczysz obraźliwą białą spację na czerwono. Ponadtogit show --word-diff
pokaże ci nie tylko zmianę linii, ale także wstawienia w środku linii, które powinny pokazać, czy łata naprawdę dodaje tylko słowo w środku, czy też dodaje końcowe białe spacje.Jednym z przypadków, w których można by się tym przejmować, jest rozróżnienie między „starym” błędem białych znaków (który warto zachować ze względu na starszą wersję) i „nowymi” błędami związanymi z białymi znakami (których należy unikać).
W tym celu Git 2.5+ (Q2 2015) zaproponuje bardziej szczegółową opcję wykrywania białych znaków.
Zobacz commits 0e383e1 , 0ad782f i d55ef3e [26 maja 2015] autorstwa Junio C Hamano (
gitster
) .(Scalone przez Junio w zatwierdzeniu 709cd91 , 11 czerwca 2015 r.)
Dokumentacja obejmuje obecnie :
Na przykład stare zatwierdzenie miało jeden błąd spacji (
bbb
), ale możesz skupić się tylko na nowych błędach (na końcustill bbb
iccc
):(test wykonany później
t/t4015-diff-whitespace.sh
)W Git 2.26 (Q1 2020)
diff-*
rodzina podpoleceń dotyczących hydrauliki zwraca teraz uwagę nadiff.wsErrorHighlight
konfigurację, która była wcześniej ignorowana; pozwala to "git add -p
" również pokazać problemy z białymi znakami użytkownikowi końcowemu.Zobacz commit da80635 (31 stycznia 2020) autorstwa Jeffa Kinga (
peff
) .(Scalone przez Junio C Hamano -
gitster
- w zatwierdzeniu df04a31 , 14 lutego 2020 r.)źródło
Tutaj pokazano błąd białych znaków w obrazach wizualnych.
http://git-scm.com/book/en/v2/Distributed-Git-Contributing-to-a-Project#Commit-Guidelines
źródło
Ponieważ linia
TAB
zaczynająca się odSPACE
. Idź na pliku łaty i wymienićTAB
zSPACE
. Np. W vim on line + z pliku łatki typu x, aby usunąć spację i nie usunąć znaku + i wstaw spację (CTRL) na eqiv do oryginalnego rozmiaru.źródło