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?
git
diff
whitespace
ignore
ma11hew28
źródło
źródło
git diff -b
?Odpowiedzi:
Do użytku na końcu linii:
Zamiast tego, czego obecnie używasz:
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”.
źródło
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
lubgit 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
lubgit 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.
źródło