Ich habe ein Problem, bei dem ich ein großes Commit habe, das ungefähr tausend Codezeilen ändert, Leerzeichen vom Zeilenende entfernt und Leerzeichen vor Tabulatoren entfernt.
Es gibt auch ungefähr 50 Pull-Anfragen für dieses Projekt, die alle Konflikte haben, wenn mein Commit zusammengeführt wird. Gibt es eine Möglichkeit, wie git so eingerichtet werden kann, dass beim Zusammenführen zukünftiger Commits Konflikte ignoriert werden, bei denen es sich bei einem von ihnen nur um eine Leerzeichenänderung handelt?
Das Ändern von Git selbst oder die Verwendung eines Drittanbieter-Tools ist nicht möglich, aber die Verwendung eines Hooks ist in Ordnung.
git
whitespace
git-merge
Callumacrae
quelle
quelle
Antworten:
Oder (genauer)
sollte ausreichen, um alle platzbezogenen Konflikte während der Zusammenführung zu ignorieren.
Siehe git diff :
ks1322
fügt in den Kommentaren einen guten Rat hinzu:Das OP Callum Macrae meldet, dass in diesem Fall die Zusammenführung ohne Unterbrechung fortgesetzt wird und die in den Pull-Request-Patches enthaltenen nachgestellten Leerzeichen auf die lokalen Dateien angewendet werden.
Das OP verwendet jedoch einen Pre-Commit-Hook, der sich um die nachfolgenden Leerzeichen kümmert.
(Ich nehme an, ein bisschen ähnlich wie dieses , auf das auch hier verwiesen wird ).
Auf den Pre-Commit-Hook des OP wird hier verwiesen :
quelle
git merge -Xignore-space-change
- na ja, kann ich sicher sagen , diese Arbeit nicht tut ... . Das eine Stück Leerzeichen, das ich entfernen wollte, blieb übrig. Git ist absolut beschissen.--no-commit
die Zusammenführung vor dem eigentlichen Commit zusammenzuführen und zu überprüfen.