Zum Inhalt springen
Deutsch
FikirPilot-Inhalt

Die wichtigsten Neuerungen in Git 2.56

Aktualisiert: 28.09.2026 · 2 Min. Lesezeit · 379 Wörter

Veröffentlicht: · Meldung erreichte uns: · Verarbeitungszeit: 12 Min.

Das Open-Source-Git-Projekt hat Git 2.56.0 mit Entwicklungen und Fehlerbehebungen von mehr als 104 Mitwirkenden veröffentlicht; 39 der Mitwirkenden stießen neu zum Projekt hinzu. Die vorherige Version war Git 2.55.

Die neue Version bietet die Option `git add –resolved`, um beim Auflösen von Merge-Konflikten nur die relevanten Pfade zu stagen. Dieser Modus wertet die nicht zusammengeführten Pfade im Verzeichnis aus und prüft vor dem Staging normale Dateien auf verbliebene Konfliktmarkierungen. Werden solche Markierungen gefunden, meldet er die betreffenden Pfade und verändert das Verzeichnis nicht. Dadurch werden lokale Änderungen wie in `notes.txt`, die nicht mit dem Konflikt zusammenhängen, nicht gestaged, während die gelöste Datei `recipe.txt` gestaged werden kann. Die Auswahl kann mit einem Pfadmuster eingegrenzt werden; enthält eine der ausgewählten Dateien eine Markierung, wird keine von ihnen gestaged. Gelöschte Dateien und binäre Konflikte, die als gelöst markiert wurden, werden normal verarbeitet. Die Option kann nicht mit `git add -u` oder `git add -A` kombiniert werden und ignoriert zuvor nicht von Konflikten betroffene versionierte Dateien.

Git 2.56 beschleunigt außerdem Vorgänge, die nach gemeinsamen Vorfahren suchen. Git bewegt sich von zwei Ausgangspunkten rückwärts und sucht nach den Merge-Basen, die von beiden Seiten aus erreichbar sind. Da Criss-Cross-Merges mehrere Basen erfordern können, wird die Suche fortgesetzt, bis alle Basen ermittelt wurden. Die neue Überwachungsmechanik erkennt, dass kein weiterer gemeinsamer Punkt entstehen kann, sobald die ausstehenden Commits, die nur einer der beiden Seiten zugeordnet sind, aufgebraucht sind, und beendet die Suche, wobei alle Merge-Basen erhalten bleiben.

Warum ist das wichtig?

Der neue Staging-Modus ermöglicht es Entwicklern, die mit einem Merge-Konflikt konfrontiert sind, Dateien, deren Konfliktlösung abgeschlossen ist, von lokalen Änderungen getrennt zu halten, ohne sie miteinander zu vermischen. Das senkt insbesondere für Teams, die im selben Arbeitsverzeichnis unterschiedliche Bearbeitungen durchführen, das Fehlerrisiko. Die Überprüfung der Konfliktmarkierungen bietet eine zusätzliche Kontrolle, die verhindert, dass versehentlich unvollständige Inhalte für den Commit vorgemerkt werden. Die Verbesserung bei der Suche nach gemeinsamen Vorfahren wirkt sich dagegen darauf aus, wie Git in Repositories mit vielen Branches und Criss-Cross-Merges auf die benötigten Verlaufsinformationen zugreift. Damit zielt die Version nicht nur auf die Einführung eines neuen Befehls ab, sondern auch auf das Verhalten von Vorgängen, die in komplexen Verläufen ausgeführt werden. Offen bleibt jedoch, in welchem Umfang diese Änderungen in unterschiedlichen Workflows übernommen werden und in welchen Repositories der Performancegewinn deutlich wird.

Quelle: GitHub Blog