Git 2.43 Banner
Nach drei Monaten Entwicklung Das Git-Projekt wurde vorgestellt Kürzlich wurde das neue auf den Markt gebracht Git-Version 2.43, mit neuen Funktionen und Fehlerbehebungen von mehr als 80 Mitwirkenden, davon 17 neu.
In Git 2.43 Die Optionen „–filter“ und „–filter-to“ wurden im Befehl „git repack“ eingeführt. Mit diesen Optionen können Sie das Repository unter Berücksichtigung des angegebenen Objektfilters neu packen.
Darüber hinaus können bei Bedarf Objekte, die den Filter nicht erfüllen, an einen separaten Ort verschoben werden. Diese Optionen sind nützlich, um das Repository nach bestimmten Kriterien zu partitionieren, beispielsweise um unnötige oder übergroße Objekte zu entfernen. Trotz dieser Änderungen bleibt die Möglichkeit erhalten, durch teilweises Klonen auf alle Teile des Repositorys zuzugreifen.
Eine andere änderung Was zeichnet diese neue Version aus? In Git Repack wird jetzt die Arbeit mit mehreren Cruft-Paketen unterstützt. sowie die Aufteilung des Inhalts der Repositories mithilfe eines Objektfilters.
Darüber hinaus hebt die Möglichkeit hervor, mit mehreren Paketdateien zu arbeiten die Informationen enthalten auf unerreichbare Objekte, allgemein als „Cruft-Pakete“ bezeichnet. Auf diese Dateien wird im Repository nicht verwiesen, das heißt, sie sind nicht über Zweige oder Tags verknüpft. Mit der Einführung der neuen Option „git repack –max-cruft-size“ Es ist jetzt möglich, die maximale Größe einer einzelnen Paketdatei anzugeben und die nicht erreichbare Objektdatenbank in mehrere kleinere Paketdateien zu segmentieren.
Die Verwendung mehrerer kleiner Paketdateien anstelle einer großen kann zu einer spürbaren Reduzierung der E/A-Vorgänge beim Neupacken von Repositorys mit einer großen Anzahl nicht erreichbarer Objekte führen. Dies liegt daran, dass nicht bei jedem Vorgang alle Daten überschrieben werden müssen, wodurch die Effizienz des Prozesses verbessert wird.
Es wird auch darauf hingewiesen, dass der Befehl for-each-ref wurde mit neuen Formatierungsfunktionen aktualisiert, da Benutzer git for-each-ref nun anweisen können, alle in ihrem Repository angegebenen .mailmap-Regeln auf benutzerdefinierte Formatspezifizierer anzuwenden, einschließlich %(authorname) , %(committeremail) und andere.
Auf der anderen Seite wird hervorgehoben, dass die von „git revert“ erstellte Standardprotokollmeldung, beim Zurücksetzen eines Commits, der ein Rollback protokolliert, wurde geändert, um Menschen zu ermutigen, komplexe Situationen besser zu beschreiben von „Umkehr“ in seinen eigenen Worten.
Von den anderen Änderungen das hebt sich von dieser neuen Version ab:
- Am CI-System von Git wurden wesentliche Änderungen vorgenommen, die es ermöglichen, laufende CI-Läufe abzubrechen, wenn neue Pushs an Zweige erfolgen, bei denen CI-Prüfungen durchgeführt werden.
- Git kann jetzt auch Coverity, ein statisches Analysetool von Synopsys, verwenden und Ergebnisse darüber melden.
- «Git-Merge-Datei» bietet jetzt die Möglichkeit, drei Inhaltsvarianten zu lesen, die aus Blob-Objekten zusammengeführt werden sollen.
- Es wurde die Möglichkeit hinzugefügt, .mailmap-Regeln anzuwenden, um das mit der Option angegebene Format anzugeben -FormatAls „%(authorname)“ und „%(committeremail)“ zu „git for-each-ref» und ähnliche Befehle.
- Jetzt die Optionen –rfc und –subjektpräfix Sie arbeiten zusammen
- Eine in der Antike geschriebene Nachricht verhinderte die Entfernung eines Zweigs mit der Begründung, dass er bereits an anderer Stelle aufgezeichnet sei. Jetzt wird jedoch vorgeschlagen, dass ein Zweig, der in zwei Teile geteilt oder als Zweig neu erstellt wird, ausgecheckt und vor Änderungen mit demselben Codepfad geschützt wird. Um Verwirrung zu vermeiden, wurde die Nachricht dahingehend umformuliert, dass die Verzweigung „in Verwendung“ sei.
- «Git Update-Index»Jetzt haben Sie die Möglichkeit»–show-index-version» um die Version des Indexformats zu überprüfen, das von der Indexdatei auf der Festplatte verwendet wird.
- Neue Funktionen für benutzerdefinierte Git-Protokollformate, die es Benutzern ermöglichen, mithilfe des neuen Platzhalters Dekorationen hinzuzufügen %(schmücken) , das optionale Modifikatoren wie Präfix, Suffix, Trennzeichen und mehr enthält.
Wenn Sie daran interessiert sind, mehr darüber zu erfahren, können Sie die Details im folgenden Link