Mam problem polegający na tym, że mam duże zatwierdzenie, które zmienia około tysiąca linii kodu, usuwając białe znaki na końcu linii i usuwając spacje przed tabulatorami.
Istnieje również około 50 żądań ściągnięcia dla tego projektu, z których wszystkie będą miały konflikty po scaleniu mojego zatwierdzenia. Czy jest jakiś sposób na skonfigurowanie git, aby podczas scalania przyszłych zatwierdzeń ignorował konflikty, w których jeden z nich jest tylko zmianą białych znaków?
Modyfikacja samego gita lub użycie narzędzia innej firmy nie jest możliwa, ale użycie haka jest w porządku.
git
whitespace
git-merge
Callumacrae
źródło
źródło
Odpowiedzi:
Lub (bardziej precyzyjnie)
powinno wystarczyć do zignorowania wszystkich konfliktów związanych z przestrzenią podczas scalania.
Zobacz git diff :
ks1322
dodaje w komentarzach dobrą radę:OP Callum Macrae informuje, że w takim przypadku scalania kontynuować nieprzerwany, a końcowe spacje zawarte w plastrach żądanie ciągnąć są stosowane do lokalnych plików.
Jednak OP wykorzystuje hak poprzedzający zatwierdzenie, który dba o wspomniane spacje końcowe.
(Przypuszczam, że jest trochę podobny do tego , o którym również tu mowa ).
Haczyk zatwierdzenia wstępnego OP znajduje się tutaj :
źródło
git merge -Xignore-space-change
- cóż, co mogę powiedzieć na pewno, to nie działa ... . Pozostał jedyny kawałek białej spacji, który próbowałem usunąć. Git jest absolutnie do bani.--no-commit
i przejrzeć scalenie przed faktycznym zatwierdzeniem.