UppslÀpp av versionshanteringssystemet Git 2.35

Efter tvÄ mÄnaders utveckling har en ny version av det distribuerade kÀllkodshanteringssystemet Git 2.35 publicerats. Git Àr ett av de mest populÀra, pÄlitliga och högpresterande versionshanteringssystemen, som erbjuder flexibla verktyg för icke-linjÀr utveckling baserad pÄ förgrening och sammanslagning av grenar. För att sÀkerstÀlla integriteten i historiken och motstÄndskraft mot sÄ kallade "backdate"-Àndringar anvÀnds implicit hashing av hela tidigare historik i varje commit, och det Àr ocksÄ möjligt att verifiera med digitala signaturer av utvecklare för specifika taggar och commits.

I jÀmförelse med den föregÄende versionen har 494 Àndringar antagits i den nya versionen, förberedda av 93 utvecklare, varav 35 deltog i utvecklingen för första gÄngen. De viktigaste nyheterna Àr:

  • Möjligheterna att anvĂ€nda SSH-nycklar för att sĂ€kerstĂ€lla Git-objekt med digital signatur har utvidgats. För att sĂ€rskilja giltighetstiden för flera nycklar har stöd för OpenSSH-direktiv som "valid-before" och "valid-after" lagts till, vilket gör det möjligt att sĂ€kerstĂ€lla korrekt hantering av signaturer efter rotation av en av utvecklarnas nycklar. Tidigare fanns det problem med att separera signaturer med en gammal och en ny nyckel - om den gamla nyckeln raderades, gick det inte att verifiera signaturerna som gjordes med den, och om den lĂ€mnades kvar, fanns det möjlighet att skapa nya signaturer med den gamla nyckeln, trots att en annan nyckel redan hade tagits i bruk. Genom att anvĂ€nda valid-before och valid-after kan giltighetsomrĂ„det för nycklarna sĂ€rskiljas pĂ„ basis av tidpunkten för signaturens skapande.
  • I instĂ€llningen merge.conflictStyle, som gör det möjligt att vĂ€lja hur konfliktinformation ska visas vid sammanslagning, har stöd för lĂ€get "zdiff3" lagts till. Detta lĂ€ge flyttar alla typiska rader angivna i början eller slutet av konflikten bortom konfliktomrĂ„det, vilket möjliggör en mer kompakt presentation av informationen.
  • Kommandot «git stash» har fĂ„tt ett nytt lĂ€ge «—staged», som gör det möjligt att dölja endast Ă€ndringar som lagts till i indexet, till exempel i situationer dĂ€r det Ă€r nödvĂ€ndigt att tillfĂ€lligt skjuta upp delar av komplexa Ă€ndringar för att först kunna lĂ€gga till det som redan Ă€r klart, och sedan ta itu med resten vid ett senare tillfĂ€lle. LĂ€ge pĂ„minner om kommandot «git commit», som registrerar endast de Ă€ndringar som lagts i indexet, men istĂ€llet för att skapa en ny commit i «git stash —staged» sparas resultatet i det temporĂ€ra omrĂ„det stash. NĂ€r Ă€ndringarna behövs kan de Ă„terstĂ€llas med kommandot «git stash pop».
  • Kommandot «git log» har fĂ„tt en ny format-specifikator «—format=%(describe)», som gör det möjligt att kombinera utdata frĂ„n «git log» med resultatet av att köra kommandot «git describe». Parametrarna för «git describe» anges direkt inom specifikatorn («—format=%(describe:match=,exclude=)»), dĂ€r Ă€ven förkortade taggar kan inkluderas («—format=%(describe:tags=)») och antalet hexadecimala tecken för objektidentifiering kan justeras («—format=%(describe:abbrev=)»). Till exempel, för att visa de senaste 8 committerna vars taggar inte har en release-kandidat, och att ange 8-teckens identifierare, kan kommandot anvĂ€ndas: $ 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-643-g2b95d94b056ab v2.34.1-642-gb56bd95bbc8f7 v2.34.1-203-gffb9f2980902d v2.34.1-640-gdf3c41adeb212 v2.34.1-639-g36b65715a4132
  • I instĂ€llningen user.signingKey har stöd för nya typer av nycklar införts, som inte Ă€r begrĂ€nsade till typen «ssh-» och ange den fullstĂ€ndiga filvĂ€gen till nyckeln. Alternativa typer anges med prefixet «key::», till exempel, «key::ecdsa-sha2-nistp256» för ECDSA-nycklar.
  • Hastigheten för att generera en lista över Ă€ndringar i lĂ€get «—histogram» har ökats avsevĂ€rt, liksom vid anvĂ€ndning av alternativet «—color-moved-ws», som styr fĂ€rgmarkeringen av mellanslag i en fĂ€rgad diff.
  • I kommandot «git jump», som anvĂ€nds för att ge Vim information om exakta hopp till den önskade positionen i filen vid hantering av sammanslagningskonflikter, granskning av skillnader eller utförande av sökoperationer, har möjligheten att begrĂ€nsa omfattningen av hanterade sammanslagningskonflikter införts. Till exempel, för att begrĂ€nsa operationerna enbart till katalogen «foo» kan «git jump merge — foo» anges, och för att utesluta katalogen «Documentation» frĂ„n hantering kan «git jump merge — ‘:^Documentation'» anvĂ€ndas.
  • Det har utförts arbete med att standardisera anvĂ€ndningen av typen "size_t" istĂ€llet för "unsigned long" för vĂ€rden som representerar storleken pĂ„ objekt, vilket möjliggjort anvĂ€ndningen av filtren "clean" och "smudge" med filer större Ă€n 4 GB pĂ„ alla plattformar, inklusive plattformar med LLP64 datamodell, dĂ€r typen "unsigned long" Ă€r begrĂ€nsad till 4 byte.
  • Till kommandot "git am" har alternativet "—empty=(stop|drop|keep)" lagts till, vilket möjliggör att vĂ€lja beteende för tomma meddelanden som inte innehĂ„ller patchar vid analys av patchar frĂ„n inkorgen. VĂ€rdet "stop" avslutar hela patchtillĂ€mpningsoperationen, "drop" hoppar över tom patch, "keep" skapar en tom commit.
  • Kommandona "git reset", "git diff", "git blame", "git fetch", "git pull" och "git ls-files" har fĂ„tt stöd för partiella index (sparse index), vilket förbĂ€ttrar prestanda och sparar utrymme i repositoryn dĂ€r partiell kloning (sparse-checkout) utförs.
  • Kommandot "git sparse-checkout init" har förklarats som förĂ„ldrat, och istĂ€llet bör "git sparse-checkout set" anvĂ€ndas.
  • En inledande implementation av den nya backend "reftable" för lagring av referenser, sĂ„som grenar och taggar, i repositoryn har lagts till. Den nya backend anvĂ€nder blocklagring, som anvĂ€nds av projektet JGit och Ă€r optimerad för att lagra ett mycket stort antal referenser. Backend Ă€r för tillfĂ€llet inte integrerad med referenssystemet (refs) och Ă€r inte klar för praktisk anvĂ€ndning.
  • FĂ€rgschemat för kommandot "git grep" har anpassats för att överensstĂ€mma med GNU greps verktyg.

KĂ€lla: opennet.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster