Neue Version von Git 2.28, die es ermöglicht, den Namen „Master“ nicht für Master-Zweige zu verwenden

Verfügbar Veröffentlichung eines verteilten Versionsverwaltungssystems Git 2.28.0. Git ist eines der beliebtesten, zuverlässigsten und leistungsstärksten Versionskontrollsysteme und bietet flexible nichtlineare Entwicklungstools basierend auf Verzweigung und Zusammenführung. Um die Integrität des Verlaufs und die Widerstandsfähigkeit gegen rückwirkende Änderungen sicherzustellen, wird in jedem Commit ein implizites Hashing des gesamten vorherigen Verlaufs verwendet; es ist auch möglich, einzelne Tags und Commits mit digitalen Signaturen der Entwickler zu zertifizieren.

Im Vergleich zur Vorgängerversion enthielt die neue Version 317 Änderungen, die unter Beteiligung von 58 Entwicklern erstellt wurden, von denen 13 erstmals an der Entwicklung beteiligt waren. Basic Innovationen:

  • Die Einstellung „init.defaultBranch“ wurde hinzugefügt, mit der Sie einen beliebigen Namen für den Hauptzweig auswählen können, der standardmäßig verwendet wird. Diese Einstellung wurde für Projekte hinzugefügt, deren Entwickler von Erinnerungen an die Sklaverei heimgesucht werden und das Wort „Meister“ als beleidigende Anspielung wahrgenommen wird oder seelische Qualen und ein Gefühl unerlöster Schuld hervorruft. GitHub, Gitlab и Bit Bucket beschlossen, für die Hauptzweige das Wort „main“ anstelle des Wortes „master“ zu verwenden. In Git wird nach wie vor durch die Ausführung des Befehls „git init“ weiterhin standardmäßig der Zweig „master“ erstellt, dieser Name kann jedoch jetzt geändert werden. Um beispielsweise den Namen des anfänglichen Zweigs in „main“ zu ändern, können Sie den folgenden Befehl verwenden:

    git config --global init.defaultBranch main

  • Leistungsoptimierungen basierend auf dem Erscheinungsbild im Commit-Graph-Dateiformat hinzugefügt, um den Zugriff auf Commit-Informationen und die Unterstützung zu optimieren Bloom-Filter, eine probabilistische Struktur, die die falsche Identifizierung eines fehlenden Elements ermöglicht, aber das Weglassen eines vorhandenen Elements ausschließt. Durch die angegebene Struktur können Sie die Suche im Änderungsverlauf bei Verwendung der Befehle „git log -“ erheblich beschleunigen. „ oder „Git-Schuld“.
  • Der Befehl „git status“ liefert Informationen über den Fortschritt des teilweisen Klonvorgangs (sparse-checkout).
  • Für die Befehlsfamilie „diff“ wurde eine neue Einstellung „diff.relative“ vorgeschlagen.
  • Beim Durchsuchen von „git fsck“ wird nun die Sortierung des Objektbaums ausgewertet und unsortierte Elemente identifiziert.
  • Die Schnittstelle zum Bearbeiten vertraulicher Informationen in der Trace-Ausgabe wurde vereinfacht.
  • Dem Eingabevervollständigungsskript wurde Unterstützung für Vervollständigungsoptionen für den Befehl „git switch“ hinzugefügt.
  • „git diff“ unterstützt jetzt die Übergabe von Argumenten in unterschiedlichen Notationen („git diff A..BC“, „git diff A..BC…D“ usw.).
  • Es wurde die Möglichkeit hinzugefügt, eine benutzerdefinierte Elementzuordnung für den Befehl „git fast-export --anonymize“ anzugeben, um die Ausgabe zu optimieren und sie besser debuggbar zu machen.
  • Mit der „Git GUI“ können Sie vom ersten Dialog aus funktionierende Bäume öffnen.
  • Das „Fetch/Clone“-Protokoll implementiert die Möglichkeit für den Server, den Client über die Notwendigkeit zu informieren, zusätzlich zu den übertragenen gepackten Objektdaten vorgefertigte Packdateien zu laden.
  • Die Arbeit an der Umstellung auf den Hash-Algorithmus SHA-256 anstelle von SHA-1 wurde fortgesetzt.

Source: opennet.ru

Kommentar hinzufügen