Uwielbiam używać git diff -w
ignorować różnice białych znaków. Ale właśnie zauważyłem, że ignoruje nawet różnice białych znaków w środku linii. Jak mogę zignorować tylko różnice białych znaków na początku (^) lub na końcu ($) linii?
Uwielbiam używać git diff -w
ignorować różnice białych znaków. Ale właśnie zauważyłem, że ignoruje nawet różnice białych znaków w środku linii. Jak mogę zignorować tylko różnice białych znaków na początku (^) lub na końcu ($) linii?
Odpowiedzi:
Do użytku na końcu linii:
git diff --ignore-space-at-eol
Zamiast tego, czego obecnie używasz:
git diff -w (--ignore-all-space)
Na początek linii ... nie masz szczęścia, jeśli chcesz mieć wbudowane rozwiązanie.
Jeśli jednak nie masz nic przeciwko brudzeniu rąk, wypuszcza się tam raczej stara łatka, która dodaje obsługę „--ignore-space-at-sol”.
To stare pytanie, ale wciąż jest regularnie przeglądane / potrzebne. Chcę publikować ostrzeżenia dla czytelników takich jak ja, że spacja, jak wspomniano w pytaniu PO, nie jest tym samym co definicja Regex, aby zawierać znaki nowej linii, tabulatory i spacje - Git prosi o wyraźne określenie. Zobacz niektóre opcje tutaj: https://git-scm.com/book/en/v2/Customizing-Git-Git-Configuration
Jak stwierdzono, git diff -b
lub git diff --ignore-space-change
zignoruje spacje na końcach linii. Jeśli chcesz, aby to ustawienie było domyślnym zachowaniem, następujący wiersz dodaje tę intencję do pliku .gitconfig, więc zawsze będzie ignorować spację na końcu linii:
git config --global core.whitespace trailing-space
W moim przypadku znalazłem to pytanie, ponieważ byłem zainteresowany zignorowaniem „różnic białych znaków powrotu karetki”, więc potrzebowałem tego:
git diff --ignore-cr-at-eol
lub
git config --global core.whitespace cr-at-eol
od tutaj .
Możesz także ustawić go jako domyślny tylko dla tego repozytorium , pomijając parametr --global i sprawdzając plik ustawień dla tego repozytorium. W przypadku problemu CR, z którym miałem do czynienia, znika po odprawie, jeśli warncrlf lub autocrlf = true w sekcji [core] pliku .gitconfig.
git diff -b
?