Veröffentlichung des verteilten Systems zur Verwaltung von Quelltexten Git 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 :
- 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. , und 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 , 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
