Veröffentlichung des verteilten Versionsverwaltungssystems Git 2.23

Eingereicht von Veröffentlichung eines verteilten Versionsverwaltungssystems Git 2.23.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 den Widerstand gegen rückwirkende Änderungen sicherzustellen, wird implizites Hashing des gesamten vorherigen Verlaufs in jedem Commit verwendet. Darüber hinaus ist es möglich, einzelne Tags und Commits mit digitalen Signaturen von Entwicklern zu zertifizieren.

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

  • Experimentelle „git switch“- und „git restart“-Befehle werden eingeführt, um lose gekoppelte „git checkout“-Funktionen zu trennen, wie z. B. Zweigmanipulation (Wechseln und Erstellen) und Wiederherstellen von Dateien im Arbeitsverzeichnis („git checkout $commit – $filename“). oder direkt im Staging-Bereich („—staging“, hat kein Analogon in „git checkout“). Es ist erwähnenswert, dass „git restart“ im Gegensatz zu „git checkout“ nicht verfolgte Dateien aus den wiederherzustellenden Verzeichnissen entfernt (standardmäßig „--no-overlay“).
  • Die Option „git merge –quit“ wurde hinzugefügt, die ähnlich wie „-abort“ den Prozess des Zusammenführens von Zweigen stoppt, das Arbeitsverzeichnis jedoch unberührt lässt. Diese Option kann nützlich sein, wenn einige der während einer manuellen Zusammenführung vorgenommenen Änderungen lieber als separater Commit ausgegeben werden sollten.
  • Die Befehle „git clone“, „git fetch“ und „git push“ berücksichtigen jetzt das Vorhandensein von Commits in verknüpften Repositorys (wechselt);
  • Hinzugefügt Mit den Optionen „Git Blame –ignore-rev“ und „—ignore-revs-file“ können Sie Commits überspringen, die kleinere Änderungen vornehmen (z. B. Formatierungskorrekturen).
  • Option „git Cherry-pick – Skip“ hinzugefügt, um einen widersprüchlichen Commit zu überspringen (ein gespeichertes Analogon der Sequenz „git reset && git Cherry-pick – continue“);
  • Die Einstellung „status.aheadBehind“ wurde hinzugefügt, die die Option „git status -[no-]ahead-behind“ dauerhaft behebt;
  • Ab dieser Version berücksichtigt „git log“ standardmäßig Änderungen, die von Mailmap vorgenommen wurden, ähnlich wie dies bereits bei git shortlog der Fall ist;
  • Der in 2.18 eingeführte Aktualisierungsvorgang des experimentellen Caches des Commit-Graphs (core.commitGraph) wurde erheblich beschleunigt. Git for-each-ref wurde außerdem schneller gemacht, wenn mehrere Vorlagen verwendet wurden, und die Anzahl der Aufrufe von auto-gc in „git fetch –multiple“ wurde reduziert.
  • „git branch --list“ zeigt jetzt immer den abgetrennten HEAD ganz am Anfang der Liste an, unabhängig vom Gebietsschema.

Source: opennet.ru

Kommentar hinzufügen