Veröffentlichung des verteilten Quelltextverwaltungssystems Git 2.23

Vorstellung Veröffentlichung des verteilten Systems zur Verwaltung von Quelltexten Git 2.23.0. Git ist eines der beliebtesten, zuverlĂ€ssigsten und leistungsstĂ€rksten Versionskontrollsysteme, das flexible Werkzeuge fĂŒr die nichtlineare Entwicklung bietet, basierend auf Abzweigung und ZusammenfĂŒhrung von Zweigen. Um die IntegritĂ€t der Historie und die WiderstandsfĂ€higkeit gegen nachtrĂ€gliche Änderungen zu gewĂ€hrleisten, wird eine implizite Hashierung der gesamten vorherigen Historie in jedem Commit verwendet, auch die Authentifizierung von digitalen Signaturen der Entwickler fĂŒr bestimmte Tags und Commits ist möglich.

Im Vergleich zur vorherigen Version wurden in die neue Version 505 Änderungen aufgenommen, die von 77 Entwicklern vorbereitet wurden, von denen 26 zum ersten Mal an der Entwicklung beteiligt waren. Die Hauptpunkte Neuheiten:

  • Es wurden experimentelle Befehle wie „git switch“ und „git restore“ eingefĂŒhrt, die dazu dienen, die kaum miteinander verbundenen Funktionen von „git checkout“ zu trennen, wie z. B. das Handhaben von Branches (Wechseln und Erstellen) und das Wiederherstellen von Dateien im Arbeitsverzeichnis („git checkout $commit — $filename“) oder direkt im Staging-Bereich („—staging“, hat kein Äquivalent in „git checkout“). Es ist erwĂ€hnenswert, dass „git restore“ im Gegensatz zu „git checkout“ untracked Dateien aus den wiederherzustellenden Verzeichnissen löscht („—no-overlay“ standardmĂ€ĂŸig).
  • Die Option „git merge —quit“ wurde hinzugefĂŒgt, die analog zu „—abort“ den Prozess des Branch-Mergings stoppt, jedoch das Arbeitsverzeichnis unberĂŒhrt lĂ€sst. Diese Option kann nĂŒtzlich sein, wenn einige der Änderungen, die im Laufe eines manuellen Mergings vorgenommen werden, lieber als separater Commit erfasst werden sollten.
  • Die Befehle „git clone“, „git fetch“ und „git push“ berĂŒcksichtigen nun das Vorhandensein von Commits in verknĂŒpften Repositories (alternates);
  • HinzugefĂŒgt Die Optionen „git blame —ignore-rev“ und „—ignore-revs-file“, die es ermöglichen, Commits zu ĂŒberspringen, in denen unwesentliche Änderungen (z. B. FormatierungsĂ€nderungen) vorgenommen wurden;
  • Die Option „git cherry-pick —skip“ wurde hinzugefĂŒgt, um einen konfliktbehafteten Commit zu ĂŒberspringen (speichert das Äquivalent der Sequenz „git reset && git cherry-pick —continue“);
  • Die Einstellung status.aheadBehind wurde hinzugefĂŒgt, die die Option „git status —[no-]ahead-behind“ dauerhaft fixiert;
  • Ab dieser Version berĂŒcksichtigt „git log“ standardmĂ€ĂŸig die durch mailmap vorgenommenen Änderungen, Ă€hnlich wie dies bereits bei git shortlog der Fall ist;
  • Die Aktualisierung des in 2.18 eingefĂŒhrten experimentellen Commit-Graph-Caches (core.commitGraph) wurde erheblich beschleunigt. Auch git for-each-ref wurde beschleunigt, wenn mehrere Platzhalter verwendet werden, und die Anzahl der auto-gc-Aufrufe in „git fetch —multiple“ wurde verringert;
  • „git branch —list“ zeigt jetzt immer den detached HEAD ganz oben in der Liste an, unabhĂ€ngig von der Locale.

Quelle: opennet.ru

60GB SSD 8Gb DDR4