Git Server: Leerzeichenänderungen in neuen Commits ignorieren

Git Server: Leerzeichenänderungen in neuen Commits ignorieren

Ich habe viele Möglichkeiten gefunden, mit dem Whitespace-Problem in Git umzugehen, aber alle erfordern eine Aktion auf der Benutzerseite: Konfigurieren Sie Git so, dass es Änderungen an ws ignoriert, richten Sie einen Pre-Commit-Hook mit Warnung ein oder konfigurieren Sie den Editor einfach so, dass er sie automatisch entfernt. Aber gibt es eine Möglichkeit, Änderungen an Whitespaces einfach zu ignorieren?Serverseiteoder noch besser, alle Leerzeichen stillschweigend zu entfernen?

Hintergrund: Wir haben ein großes Repository mit einer Reihe von Entwicklern, denen wir nicht hinterherlaufen und sie davon überzeugen wollen, ihre Tools neu zu konfigurieren, aber wir wollen keine nachgestellten Leerzeichen in unserem Repository haben. Für mich liegt die Lösung auf der Hand: Einmal alle Leerzeichen entfernen und ab diesem Zeitpunkt alle ws-Änderungen ignorieren. Idealerweise auch ws in allen neuen Commits entfernen. Aber wie kann ich das machen?

Antwort1

Das lässt sich nicht wirklich sinnvoll machen. Sie können den Inhalt eines Commits nicht ändern; Sie können nur neue Commits erstellen. Selbst wenn dies möglich wäre, würde es Git kaputt machen: Die Commits auf dem Server hätten keinen Bezug zum Verlauf, der in lokalen Entwickler-Repositories gespeichert ist, und nichts würde jemals funktionieren. Sie müssen diese Art der Filterung wirklich durchführenVorDateien werden zum Repository hinzugefügt, weshalb Sie dies clientseitig in pre-commitHooks usw. tun.

Eine bessere Lösung besteht darin, einen Durchsetzungsmechanismus auf dem Server zu implementieren: Lehnen Sie Änderungen ab, die Ihren Standards nicht entsprechen.

verwandte Informationen