Die neue Version von Git 2.28 ermöglicht es, den Namen „master“ fĂŒr die Hauptzweige nicht mehr zu verwenden.

VerfĂŒgbar Veröffentlichung des verteilten Systems zur Verwaltung von Quelltexten Git 2.28.0Git ist eines der beliebtesten, zuverlĂ€ssigsten und leistungsstĂ€rksten Versionskontrollsysteme, das flexible Mittel fĂŒr die nichtlineare Entwicklung bietet, die auf Verzweigung und ZusammenfĂŒhrung von Branches basieren. Um die IntegritĂ€t der Historie und die WiderstandsfĂ€higkeit gegen nachtrĂ€gliche Änderungen zu gewĂ€hrleisten, wird das implizite Hashing der gesamten vorherigen Historie in jedem Commit verwendet; es ist auch möglich, einzelne Tags und Commits mit digitalen Signaturen der Entwickler zu authentifizieren.

Im Vergleich zur vorherigen Version wurden in die neue Version 317 Änderungen aufgenommen, die von 58 Entwicklern vorbereitet wurden, von denen 13 zum ersten Mal an der Entwicklung beteiligt sind. Die Hauptpunkte Neuheiten:

  • wurden um die Einstellung init.defaultBranch erweitert, die es ermöglicht, einen beliebigen Namen fĂŒr den Hauptbranch auszuwĂ€hlen, der standardmĂ€ĂŸig verwendet wird. Diese Einstellung wurde fĂŒr Projekte eingefĂŒhrt, deren Entwickler von der Erinnerung an die Sklaverei nicht loskommen können, und das Wort „master“ wird als beleidigende Anspielung oder als Quelle seelischer Qualen und unĂŒberwundenen SchuldgefĂŒhlen wahrgenommen. GitHub, GitLab und Bitbucket Es wurde beschlossen, standardmĂ€ĂŸig anstelle des Wortes „master“ fĂŒr Hauptbranchs das Wort „main“ zu verwenden. In Git bleibt jedoch wie bisher der Branch „master“ standardmĂ€ĂŸig bei AusfĂŒhrung des Befehls „git init“ bestehen, aber dieser Name kann jetzt geĂ€ndert werden. Um den Namen des Anfangsbranchs beispielsweise in „main“ zu Ă€ndern, kann der folgende Befehl verwendet werden:

    git config —global init.defaultBranch main

  • Es wurden Leistungsoptimierungen hinzugefĂŒgt, die auf dem neu eingefĂŒhrten Dateiformat commit-graph basieren, das zur Optimierung des Zugriffs auf Informationen zu Commits verwendet wird und die UnterstĂŒtzung Bloom-Filter, einer probabilistischen Struktur, die ein falsches Erkennen eines fehlenden Elements zulĂ€sst, jedoch das Übersehen eines vorhandenen Elements ausschließt. Diese Struktur ermöglicht eine deutliche Beschleunigung der Suche in der Änderungschronik bei Verwendung der Befehle „git log — “ oder „git blame“.
  • Im Befehl „git status“ wird nun der Fortschritt des Vorgangs des partiellen Klonens (sparse-checkout) angezeigt.
  • FĂŒr die Befehle der Familie „diff“ wurde eine neue Einstellung „diff.relative“ vorgeschlagen.
  • Bei der ÜberprĂŒfung mit „git fsck“ wird jetzt die Sortierung des Objektbaums bewertet und nicht sortierte Elemente identifiziert.
  • Die BenutzeroberflĂ€che zum Bearbeiten vertraulicher Informationen im Traceback-Ausgabe wurde vereinfacht.
  • Im EingabevervollstĂ€ndigungs-Skript wurde die UnterstĂŒtzung fĂŒr die VervollstĂ€ndigung von Optionen des Befehls „git switch“ hinzugefĂŒgt.
  • In „git diff“ wurde die UnterstĂŒtzung fĂŒr die Übergabe von Argumenten in verschiedenen Notationen („git diff A..B C“, „git diff A..B C
D“ usw.) hinzugefĂŒgt.
  • Im Befehl „git fast-export —anonymize“ wurde die Möglichkeit hinzugefĂŒgt, eine eigene Zuordnung der Elemente festzulegen, um die Ausgabe fĂŒr die Fehlerbehebung besser anpassbar zu machen.
  • In „git gui“ wurde das Öffnen von ArbeitsbĂ€umen aus dem ursprĂŒnglichen Dialog ermöglicht.
  • Im Protokoll „fetch/clone“ wurde die Möglichkeit implementiert, dass der Server den Client ĂŒber die Notwendigkeit informiert, vorab vorbereitete Pack-Dateien zusĂ€tzlich zu den ĂŒbertragenen gepackten Objekt-Daten herunterzuladen.
  • Die Arbeit am Wechsel zum Hash-Algorithmus SHA-256 anstelle von SHA-1 wurde fortgesetzt.

Quelle: opennet.ru

60GB SSD 8Gb DDR4