Git 2.35 Quell Kontroll Verëffentlechung

No zwee Méint vun der Entwécklung ass de verdeelt Quellkontrollsystem Git 2.35 verëffentlecht ginn. Git ass ee vun de populäersten, zouverlässegsten an héich performante Versiounskontrollsystemer, déi flexibel net-linear Entwécklungsinstrumenter baséieren op Verzweigung a Fusioun. Fir d'Integritéit vun der Geschicht an d'Resistenz géint retroaktiv Ännerungen ze garantéieren, gëtt implizit Hashing vun der ganzer viregter Geschicht an all Engagement benotzt; et ass och méiglech individuell Tags ze zertifiéieren an engagéiert mat digitalen Ënnerschrëften vun den Entwéckler.

Am Verglach mat der viregter Verëffentlechung enthält déi nei Versioun 494 Ännerungen, virbereet mat der Participatioun vun 93 Entwéckler, vun deenen 35 fir d'éischt Kéier un der Entwécklung deelgeholl hunn. Haaptinnovatiounen:

  • D'Méiglechkeete fir SSH Schlësselen ze benotzen fir Git Objekter digital z'ënnerschreiwen goufen erweidert. Fir d'Validitéitsperiod vu verschiddene Schlësselen ze limitéieren, ass d'Ënnerstëtzung fir d'OpenSSH-Direktiven "valid-before" a "valid-after" hinzugefügt ginn, mat deenen Dir eng korrekt Aarbecht mat Ënnerschrëfte garantéiert, nodeems de Schlëssel vun engem vun den Entwéckler rotéiert gouf. Virun dësem war et e Problem mat der Trennung vun Ënnerschrëften duerch den alen an neie Schlëssel - wann Dir den ale Schlëssel läscht, ass et onméiglech fir d'Ënnerschrëfte mat deem ze verifizéieren, a wann Dir et verléisst, da bleift et méiglech nei Ënnerschrëfte mat dem ale Schlëssel erstellen, dee scho vun engem anere Schlëssel ersat gouf. Mat valabel-virdrun a valabel-no kënnt Dir den Ëmfang vun de Schlësselen trennen op Basis vun der Zäit wou d'Ënnerschrëft erstallt gouf.
  • An der Merge.conflictStyle-Astellung, déi Iech erlaabt de Modus ze wielen fir Informatioun iwwer Konflikter während enger Fusioun ze weisen, ass Ënnerstëtzung fir den "zdiff3" Modus erschéngt, deen all Standardlinnen, déi um Ufank oder Enn vum Konflikt spezifizéiert sinn, ausserhalb vum Konflikt beweegt Beräich, wat fir eng méi kompakt Presentatioun vun Informatiounen erlaabt.
  • Den "--staged" Modus gouf zum Kommando "git stash" bäigefüügt, wat Iech erlaabt nëmmen Ännerungen am Index ze verstoppen, zum Beispill an enger Situatioun, wou Dir e puer vun de komplexe Ännerunge temporär ausstelle musst fir fir d'éischt dobäizemaachen, wat scho fäerdeg ass a mat de Rescht no enger Zäit ëmzegoen. De Modus ass ähnlech wéi de "git commit" Kommando, schreift nëmmen d'Ännerungen, déi am Index plazéiert sinn, awer amplaz vun engem neien Engagement an "git stash -stage" ze kreéieren, gëtt d'Resultat am Stash temporärer Gebitt gespäichert. Wann d'Ännerunge gebraucht ginn, kënne se mam Kommando "git stash pop" zréckgesat ginn.
  • En neie Formatspezifizéierer gouf zum "git log" Kommando bäigefüügt, "--format=%(describe)", wat Iech erlaabt d'Ausgab vum "git log" mat der Ausgab vum "git describe" Kommando ze kombinéieren. D'Parameter fir "git describe" ginn direkt am Spezifizéierer spezifizéiert ("-format=%(describe:match= , ausschléissen= )")), an deem Dir och verkierzte Tags ("-format=%(describe:tags= )")) a konfiguréieren d'Zuel vun den hexadezimalen Zeeche fir Objekter z'identifizéieren ("—format=%(beschreiwen:abbrev= )")). Zum Beispill, fir déi lescht 8 Verpflichtungen ze lëschten, deenen hir Tags kee Verëffentlechungskandidat-Tag hunn, an 8-Charakter Identifizéierer ze spezifizéieren, kënnt Dir de Kommando benotzen: $ git log -8 —format='%(describe:exclude=*-rc) *,abbrev=13 )' v2.34.1-646-gaf4e5f569bc89 v2.34.1-644-g0330edb239c24 v2.33.1-641-g15f002812f858 v2.34.1-643d v2-95d-94-056d b2.34.1bd642 bbc56f95 v8-7-gffb2.34.1f203d v9-2980902- gdf2.34.1c640adeb3 v41-212-g2.34.1b639a36
  • D'User.signingKey-Astellung ënnerstëtzt elo nei Zorte vu Schlësselen, déi net op den Typ "ssh-" limitéiert sinn an de komplette Dateiwee fir de Schlëssel spezifizéieren. Alternativ Zorte gi mat der "Schlëssel ::" Präfix uginn, zum Beispill "Schlëssel :: ecdsa-sha2-nistp256" fir ECDSA Schlësselen.
  • D'Geschwindegkeet fir eng Lëscht vun Ännerungen am "-Histogramm" Modus ze generéieren, wéi och wann Dir d'Optioun "-color-moved-ws" benotzt, déi d'Highlighting vu Plazen an engem Faarfdiff kontrolléiert, ass merkbar erhéicht ginn.
  • De Kommando "git jump", benotzt fir Vim Informatiounen iwwer de genaue Sprong op déi gewënschte Positioun an enger Datei ze liwweren wann Dir Fusiounskonflikter analyséiert, Differenzen kuckt oder eng Sichoperatioun ausféiert, bitt d'Fäegkeet fir d'Fusiounskonflikter ofgedeckt ze verklengeren. Zum Beispill, fir Operatiounen nëmmen op de "foo" Verzeichnis ze limitéieren, kënnt Dir "git jump merge - foo" spezifizéieren an den "Documentation" Verzeechnes vun der Veraarbechtung auszeschléissen - "git jump merge - ':^Documentation'"
  • Et gouf geschafft fir d'Benotzung vum "size_t" Typ ze standardiséieren anstatt "unsigned long" fir Wäerter déi d'Gréisst vun den Objeten representéieren, wat et méiglech gemaach huet "propper" a "smudge" Filtere mat Dateien méi grouss wéi 4 GB ze benotzen op all Plattformen, dorënner Plattformen mam LLP64 Datemodell , den Typ "unsigned long" an deem op 4 Bytes limitéiert ass.
  • D'Optioun "-empty=(stop|drop|keep)" gouf zum Kommando "git am" bäigefüügt, wat Iech erlaabt d'Behuele fir eidel Messagen ze wielen déi keng Patches enthalen wann Dir Patches aus der Mailbox parséiert. De Wäert "Stop" wäert déi ganz Patchoperatioun ofschléissen, "Drop" spréngt en eidele Patch iwwer, an "Keep" erstellt en eidele Verpflichtung.
  • Ënnerstëtzung fir deelweis Indexen (sparse Index) fir d'Befehle "git reset", "git diff", "git blame", "git fetch", "git pull" an "git ls-Dateien" bäigefüügt fir d'Performance ze verbesseren an Plaz ze spueren Repositories , an deenen deelweis Klonen Operatiounen (sparse-checkout) duerchgefouert ginn.
  • De Kommando "git sparse-checkout init" gouf ofgeschaaft a soll duerch "git sparse-checkout set" ersat ginn.
  • Déi initial Implementatioun vun engem neien "reftable" Backend bäigefüügt fir Referenze wéi Filialen an Tags am Repository ze späicheren. Den neie Backend benotzt Blocklagerung, déi vum JGit Projet benotzt gëtt an ass optimiséiert fir ganz grouss Zuel vu Referenzen ze späicheren. De Backend ass nach net mam Refs System integréiert an ass net prett fir praktesch Notzung.
  • D'Faarfpalette vum Kommando "git grep" gouf ugepasst fir dem GNU grep Utility ze passen.

Source: opennet.ru

Setzt e Commentaire