Veröffentlichung des verteilten versionierten Systems . Git gehört zu den beliebtesten, zuverlĂ€ssigen und leistungsstĂ€rksten Versionsverwaltungssystemen und bietet flexible Mittel fĂŒr nicht-lineare Entwicklungen, die auf dem Branching und Merging von Zweigen basieren. Um die IntegritĂ€t der Historie und die WiderstandsfĂ€higkeit gegenĂŒber nachtrĂ€glichen Ănderungen zu gewĂ€hrleisten, werden alle vorherigen Historien in jedem Commit implizit gehasht, und es ist auch möglich, digitale Signaturen fĂŒr bestimmte Tags und Commits der Entwickler zu verwenden.
Im Vergleich zur vorherigen Version wurden in die neue Version 537 Ănderungen integriert, an denen 71 Entwickler beteiligt waren, von denen 19 zum ersten Mal an der Entwicklung mitwirkten. Die wichtigsten :
- Die im vorherigen Release standardmĂ€Ăig aktivierte Funktion wurde zurĂŒckgenommen. des Kommunikationsprotokolls Git, das fĂŒr die Remote-Verbindung des Clients zum Git-Server verwendet wird. Das Protokoll wird derzeit nicht als bereit fĂŒr die Standardverwendung angesehen, da einige problematische Aspekte identifiziert wurden, die einer gesonderten PrĂŒfung bedĂŒrfen.
- Ein Satz von Optionen zur Konfiguration der SSL-Verbindung beim Zugriff ĂŒber einen Proxy wurde hinzugefĂŒgt.
- Die Informationen, die bei der Verwendung der Transformationsfilter âcleanâ und âsmudgeâ ausgegeben werden, wurden erweitert. Jetzt wird beispielsweise das Objekt , in dem der konvertierte Blob erscheint, angezeigt.
- Um Verwirrungen zu vermeiden, wird nun im Befehl âgit describeâ immer der erweiterte Ausgabemodus (ââlongâ) verwendet, wenn ein mit dem Commit verbundenes ersetztes Tag festgestellt wird (zuvor wurde ein signiertes oder annotiertes Tag, das den Commit beschrieb, auch dann ausgegeben, wenn es umbenannt oder in der Hierarchie ârefs/tags/â verschoben wurde, und der Befehl âgit show tag^0â funktionierte nicht wie erwartet â ârefs/tags/tagâ wurde nicht gefunden oder es wurde sogar ein anderer Tag angezeigt).
- Beim AusfĂŒhren von âgit pullâ wird jetzt eine Warnung ausgegeben, wenn die Konfigurationsvariable pull.rebase nicht explizit festgelegt ist und die Optionen ââ[no-]rebaseâ oder ââff-onlyâ nicht verwendet werden. Um die Warnung fĂŒr diejenigen, die keinen Rebase durchfĂŒhren möchten, zu unterdrĂŒcken, kann der Wert der Variable auf âfalseâ gesetzt werden.
- Die Optionen von âgit pullâ, die mit âgit fetchâ gemeinsam sind, wurden ĂŒberprĂŒft. FrĂŒher nicht erwĂ€hnte Ă€hnliche Optionen wurden dokumentiert, und die ĂŒber âgit fetchâ fehlenden Optionen wurden ĂŒbertragen.
- Dem Befehl âgit rebaseâ wurde die Option ââno-gpg-signâ hinzugefĂŒgt, um die Einstellung âcommit.gpgSignâ zu ĂŒberschreiben.
- In âgit format-patchâ wurde die Möglichkeit hinzugefĂŒgt, die Kopfzeilen âFrom:â und âSubject:â unverĂ€ndert anzuzeigen, ohne dass Zeichen, die in der ASCII-Codierung fehlen, umgewandelt werden.
- Die Option ââshow-pullsâ wurde zu âgit logâ hinzugefĂŒgt, um nicht nur Commit-Ănderungen, sondern auch den Merge-Commit dieser Ănderungen aus einem separaten Branch anzuzeigen.
- Die Verarbeitung der interaktiven Eingabe wurde in allen Komponenten vereinheitlicht und der Aufruf von fflush() wurde nach der Anzeige der Eingabeaufforderung, aber vor dem Lesevorgang hinzugefĂŒgt.
- In âgit rebaseâ ist es nun möglich, alle lokalen Commits erneut anzuwenden, auch wenn einige davon zuvor an das Upstream gesendet wurden, ohne zuvor einen âcheckoutâ auszufĂŒhren.
- Der Wert der Konfigurationsvariable 'pack.useSparse' wurde standardmĂ€Ăig auf 'true' geĂ€ndert, um die zuvor als experimentell betrachteten Optimierungen zu aktivieren.
- In âgit mergeâ wurde die Option ââautostashâ hinzugefĂŒgt.
- Die BenutzeroberflĂ€che fĂŒr âsparse-checkoutâ wurde verbessert.
- Zu âgit update-ref âstdinâ wurden mehrere neue Aktionen hinzugefĂŒgt,
die es ermöglichen, Transaktionen zum Aktualisieren von Referenzen direkt zu steuern, beispielsweise zur Umsetzung einer zweistufigen atomaren Aktualisierung von Referenzen in mehreren Repositories. - Es wurden userdiff-Vorlagen fĂŒr Markdown-Dokumente hinzugefĂŒgt.
- Die EinschrĂ€nkung zum AusschlieĂen aller Pfade in den sparse-checkout-Vorlagen, die zu einem leeren Arbeitsverzeichnis fĂŒhren, wurde aufgehoben.
- Der Befehl âgit restore âstaged âworktreeâ verwendet jetzt standardmĂ€Ăig den Inhalt aus dem Branch âHEADâ anstelle einer Fehlermeldung.
- Die Umstellung auf den Hashalgorithmus SHA-2 anstelle von SHA-1 wurde fortgesetzt.
- Der Code fĂŒr die Interaktion mit GnuPG wurde ĂŒberarbeitet.
Quelle: opennet.ru
