Git 2.29.0 kënnt mat experimenteller Ënnerstëtzung fir SHA-256, Verbesserungen a méi

Git ass ee vun de populärste Versiounskontrollsystemer, zouverléisseg an héich performant, déi flexibel net-linear Entwécklungsinstrumenter op Basis vu Verzweigung a Fusioun ubidden. Fir d'Geschichtintegritéit a Widderstand géint Ännerungen "retroaktiv" ze garantéieren, gëtt implizit Hashing vun all fréierer Geschicht an all Engagement benotzt, et ass och méiglech mat digitalen Ënnerschrëften vun eenzelnen Tags zertifizéieren an engagéiert Entwéckler.

Viru kuerzem seng nei Versioun "Git 2.29.0" gouf ugekënnegt a verglach mat der fréierer Versioun, 627 Ännerunge goufen an der neier Versioun ugeholl, produzéiert mat der Participatioun vun 89 Entwéckler, vun deenen der 24 fir d'éischte Kéier un der Entwécklung deelgeholl hunn.

Git 2.29.0 Schlëssel Nei Features

An dëser neier Versioun, enthält eng experimentell Optioun fir den SHA-256 Hashing Algorithmus ze benotzen amplaz vum kompromittéierte SHA-1 beim Schreiwe vun Objeten an de Repository. Den Hash gëtt aus dem Inhalt vun all Objet am Git generéiert an ass säin eenzegaartegen Identifizéierer. All Ännerung vun den Daten oder Header vun engem Objet féiert zu enger Verännerung vu sengem Identifizéierer. D'Optriede vu Kollisiounen am Hash-Algorithmus schléisst theoretesch net d'Bildung vun zwou verschiddenen Datensätz mat engem resultéierenden Hash aus.

Leider den SHA-1 Algorithmus huet sech net resistent géint kënschtlech Kollisiounsbildung gemaach, awer fir d'Kommissioun vun echte Attacke fir d'Austausch vun Objeten am Git duerch d'Manipulatioun vu Kollisiounen SHA-1 onwahrscheinlech, well fir e getrennten Objet ze annuléieren ass et néideg datt den annuléierten Objet schonn e Kollisiounsmuster enthält, dat heescht, en arbiträre Block net kann ersat ginn.

Well all Kollisioun enorm Ressourcen erfuerdert fir ze berechnen, sinn déi scho berechent Templates bekannt déi zu Kollisioune féieren a fréier zu Git gouf e Scheck derbäi fir Versich se op Objekter ze benotzen.

Op dëser Phase vun der Entwécklung kënnt Dir nëmmen tëscht SHA-1 an SHA-256 wielen, awer bis elo kënnt Dir net verschidden Hashen an engem Repository zur selwechter Zäit kombinéieren. Och vun elo un ënnerstëtzt kee Git Provider, inklusive GitHub, Repositories mat SHA-256 Hashen. Et gi Pläng fir Portabilitéitsfeatures an der Zukunft bäizebauen.

Eng aner Ännerung an dëser neier Versioun ass am Kommando "Gitt sichen" an "Gitt drécken" un déi, déi füügt Ënnerstëtzung fir exklusiv Link Spezifikatioune bäi (refspec), erweidert passende Linkrechter tëscht Filialen a lokalen an externe Repositories. Ausgrenzend Referenzspektren kënnen nëtzlech sinn a Situatiounen wou Dir net nëmmen auswielen musst, awer och verschidde Branchen aus der Mapping auszeschléissen. Zum Beispill, wann et néideg war all "Refs / Heads / *" Branchen ze kontrolléieren, ausser e "Refs / Heads / Ref-to-Exclude", war et fir d'éischt noutwendeg eng komplett Lëscht ze spezifizéieren, explizit mat all Branche.

Nei Felder sinn derbäi "git for-each-ref" déi mat der Optioun "-format" spezifizéiert kënne ginn, zousätzlech zum Numm, Typ an Id vum Objet. Zum Beispill déi addéiert Felder Inhalt: Gréisst, Thema: sanéieren, a Modifikateur: kuerz fir kuerz Objektidentifizéierer ze weisen. Et ass och erlaabt méi "Argumenter" an "net fusionéiert" Argumenter ze spezifizéieren fir Linken ze filteren.

Wann e Konflikt während enger "git merge" Operatioun geschitt, Engagement Message Header ass elo a Klammern fir méi explizit ze trennen d'Confirmatiounsdate vun de Git Diagnosemessagen.

Eng nei Astellung "merge.renormalize" bäigefüügt, wa se gesat ginn, Check-out a Check-in Operatioune gi fir all Etapp vun enger Dreier-Kombinatioun ausgeführt.

Déi zweet Versioun vum Git Kommunikatiounsprotokoll gouf zréckgerullt, déi an der Versioun 2.27 ausgeschalt gouf a benotzt gëtt wann e Client e Fernverbindung mat engem Git Server verbënnt. De Käfer dee Stabilitéitsthemen verursaacht huet gouf diagnostizéiert a fixéiert.

D'Optioun "–Eischt-Elteren" gouf zum Kommando "git bisect" derbäigesat, et gëtt benotzt fir d'Revisioun z'identifizéieren an där eng regressiv Ännerung geschitt ass, fir d'Auswiel vu Verpflichtungen z'änneren, déi tëscht dem bekannten Aarbechtsiwwerpréiwung an der Iwwerpréiwung passéieren, an där d'Fro geschitt ass. Wann Dir "–Eischt-Elterendeel" spezifizéiert, gi just Engagementer fir déi fusionéiert Branche gezielt, ignoréiert d'Fusiounsverpflichtung selwer.

D'Effizienz vum internen Kommando "git index-pack" gouf verbessert Benotzt wann Dir "git push" oder "git fetch" leeft wann Dir d'Verpakung vun engem Index op Multi-Core Systemer paralleliséiert.

D'Astellung "merge.suppressDest" hinzugefügt, déi d'Additioun vum Ausdrock "an $ dest" zu de "Merge $ upstream into $ dest" Messagen kontrolléiert, déi erausginn, wa Filialen fusionéiert sinn (virdrun den Ausdrock "an $ dest" et war net fir d'Haaptzweig par défaut ze gesinn).

Fix eng Schwachstelle am Backend "contrib / mw-to-git" (net standardméisseg gebaut) fir Daten aus MediaWiki ze drécken an ze recuperéieren. De Problem erlaabt d'Ausféierung vum Code z'organiséieren wann Dir op eng MediaWiki Instanz kënnt déi ënner der Kontroll vun engem Ugräifer war.

Schlussendlech, wann Dir méi doriwwer wësse wëllt, kënnt Dir d'Detailer kontrolléieren An de folgende Link.


Den Inhalt vum Artikel hält sech un eis Prinzipie vun redaktionnell Ethik. Fir e Feeler ze mellen klickt hei.

Gitt d'éischt fir ze kommentéieren

Gitt Äre Kommentar

Är Email Adress gëtt net publizéiert ginn. Néideg Felder sinn markéiert mat *

*

*

  1. Responsabel fir d'Daten: Miguel Ángel Gatón
  2. Zweck vun den Donnéeën: Kontroll SPAM, Kommentarmanagement.
  3. Legitimatioun: Är Zoustëmmung
  4. Kommunikatioun vun den Donnéeën: D'Donnéeë ginn net un Drëttubidder matgedeelt ausser duerch legal Verpflichtung.
  5. Datenspeicher: Datebank gehost vun Occentus Networks (EU)
  6. Rechter: Zu all Moment kënnt Dir Är Informatioun limitéieren, recuperéieren an läschen.