Git 2.36 wurde bereits veröffentlicht und dies sind die Neuigkeiten

Nach drei Monaten Entwicklung Die neue Version des Systems wurde veröffentlicht der verteilten Quellcodeverwaltung «Git 2.36» eines der beliebtesten, zuverlässigsten und leistungsstärksten Versionskontrollsysteme, das flexible nichtlineare Entwicklungstools basierend auf Forks und Merges of Forks bereitstellt.

Um die Integrität des Verlaufs und den Widerstand gegen „rückwärtsgerichtete“ Änderungen sicherzustellen, wird bei jedem Commit der implizite Hash des gesamten vorherigen Verlaufs verwendet. Auch die Überprüfung der digitalen Signaturen der Entwickler einzelner Labels und Bestätigungen ist möglich.

Git 2.36 Highlights

Im Vergleich zur vorherigen Version wurden 717 Änderungen in die neue Version übernommen, die unter Beteiligung von 96 Entwicklern erstellt wurde, von denen 26 zum ersten Mal an der Entwicklung beteiligt waren. Wichtigste Neuerungen:

Die Wahl „–remerge-diff“ wurde zu den Befehlen „git log“ und „git show“ hinzugefügt, um Unterschiede anzuzeigen zwischen dem Gesamtergebnis der Zusammenführung und den tatsächlichen Daten, die im Commit nach der Verarbeitung des „Merge“-Befehls widergespiegelt werden, wodurch Sie die Änderungen, die als Ergebnis der Zusammenführungskonfliktlösung vorgenommen wurden, visuell beurteilen können. Der übliche „git show“-Befehl trennt die verschiedenen Konfliktlösungen durch Einrückungen, was Änderungen schwer verständlich macht.

Bei Verwendung der Option „–remerge-diff“, werden die Unterschiede zwischen Konfliktlösungen nicht für jeden übergeordneten Zweig getrennt, aber die Gesamtunterschiede zwischen einer Datei, die Zusammenführungskonflikte aufweist, und einer Datei, die Konflikte gelöst hat, werden angezeigt.

Eine weitere bemerkenswerte Änderung ist die verbesserte Flexibilität bei der Verhaltensanpassung vom Leeren von Disk-Caches über den Funktionsaufruf fsync(). Parameter core.fsyncObjectFiles zuvor verfügbar wurde in zwei Konfigurationsvariablen aufgeteilt core.fsync und core.fsyncMethod, das die Möglichkeit bietet, fsync nicht nur auf Objektdateien (.git/objects), sondern auch auf andere Git-Strukturen wie Refs ( .git /refs), Reflogs und Paketdateien anzuwenden.

über Variable core.fsync können Sie eine Liste interner Git-Strukturen angeben, nach dem Schreibvorgang, für den zusätzlich fsync aufgerufen wird. Die Variable core.fsyncMethod ermöglicht Ihnen die Auswahl einer Methode zum Leeren des Caches. Sie können beispielsweise fsync auswählen, um den gleichnamigen Systemaufruf zu verwenden, oder Write-Only angeben, um ausstehendes Lazywriting (Seiten-Cache-Lazywriting) zu verwenden.

Zum Schutz vor Schwachstellen die die Ersetzung von .git-Verzeichnissen durch andere Benutzer auf gemeinsam genutzten Partitionen handhaben, Die Überprüfung des Repositoriumsbesitzers wurde verstärkt. Jetzt ist nur noch das Ausführen von Git-Befehlen in ihren eigenen „.git“-Verzeichnissen erlaubt. Wenn das Repository-Verzeichnis einem anderen Benutzer gehört, wird standardmäßig ein Fehler generiert. Dieses Verhalten kann mithilfe der sicheren Verzeichniseinstellung deaktiviert werden.

Es wird auch hervorgehoben, dass Option „–batch-command“ zum Befehl „git cat-file“ hinzugefügt, die den ursprünglichen Inhalt von Git-Objekten generieren soll und die Befehle ergänzt „–batch“ und „–batch-check“ zuvor verfügbar mit der Möglichkeit, den Ausgabetyp über „content » Inhalt anzeigen oder «info » um Informationen über das Objekt anzuzeigen. Außerdem wird ein "flush"-Befehl unterstützt, um den Ausgangspuffer zu leeren.

Auf der anderen Seite wird hervorgehoben, dass Option „–oid-only“ hinzugefügt („–object-only“) auf den Befehl „git ls-tree“, der den Inhalt eines Baums von Objekten auflisten soll, der analog zu „–name -only“ nur Objektbezeichner anzeigt, um Aufrufe von Skripten zu vereinfachen. Die Option „--format“ ist ebenfalls implementiert, mit der Sie Ihr eigenes Ausgabeformat definieren können, indem Sie Informationen zu Modus, Typ, Name und Größe kombinieren.

Von den anderen Änderungen das hebt sich von dieser neuen Version ab:

  • Im Befehl "git bisect run" ist die Definition implementiert, das Zeichen einer ausführbaren Datei für das Skript nicht zu setzen und in diesem Fall Fehler mit den Codes 126 oder 127 zu generieren (bisher, wenn das Skript nicht ausgeführt werden konnte, wurden alle Überprüfungen durchgeführt als Probleme gekennzeichnet).
  • Option „–refetch“ zum Befehl „git fetch“ hinzugefügt, um alle Objekte abzurufen, ohne die andere Seite über den Inhalt zu informieren, der sich bereits auf dem lokalen System befindet. Dieses Verhalten kann nützlich sein, um den Zustand nach Ausfällen wiederherzustellen, wenn Unsicherheit über die Integrität der lokalen Daten besteht.
  • Die Befehle „git update-index“, „git checkout-index“, „git read-tree“ und „git clean“ unterstützen jetzt die partielle Indizierung (sparse index), um die Leistung zu verbessern und Platz auf Repositories zu sparen, die partielle Operationen durchführen. (schlechte Bezahlung).
  • Verhalten des Befehls "git clone --filter=... --recurse-submodules" geändert, der nun zum teilweisen Klonen von Submodulen führt (zuvor wurde beim Ausführen solcher Befehle der Filter nur auf den Hauptinhalt angewendet und Submodule waren vollständig geklont, ohne den Filter zu berücksichtigen).
  • Unterstützung für die Angabe von Filtern für die selektive Platzierung von Inhalten im Befehl „git bundle“ hinzugefügt, ähnlich wie bei partiellen Klonvorgängen.
  • Option „–recurse-submodules“ zum Befehl „git branch“ hinzugefügt, um Submodule rekursiv zu durchlaufen.
    Userdiff hat einen neuen Treiber für die Sprache Kotlin vorgeschlagen.

Schließlich wenn Sie mehr darüber wissen möchten Über diese neue Version von Git 2.36 können Sie die Details in einsehen den folgenden Link.


Hinterlasse einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert mit *

*

*

  1. Verantwortlich für die Daten: Miguel Ángel Gatón
  2. Zweck der Daten: Kontrolle von SPAM, Kommentarverwaltung.
  3. Legitimation: Ihre Zustimmung
  4. Übermittlung der Daten: Die Daten werden nur durch gesetzliche Verpflichtung an Dritte weitergegeben.
  5. Datenspeicherung: Von Occentus Networks (EU) gehostete Datenbank
  6. Rechte: Sie können Ihre Informationen jederzeit einschränken, wiederherstellen und löschen.