Git 2.54

Git 2.54

Të paraqitura lëshimi i sistemit të shpërndarë të menaxhimit të kodit burimor Git 2.54. Git ofron performancë të lartë dhe siguron mjete për zhvillimin jo linear, bazuar në degëzim dhe bashkimin e degëve. Për të garantuar integritetin e historisë dhe stabilitetin ndaj ndryshimeve të 'mëvonshme', përdoret hashing i implicit për tërë historinë e mëparshme në secilin commit, si dhe verifikimi me nënshkrime digjitale të zhvilluesve për etiketat dhe commit-et e veçanta. distribuohet nën licencën GPLv2+.

Në krahasim me edicionin e kaluar, versioni i ri pranon 770 ndryshime, të përgatitura me pjesëmarrjen e 137 zhvilluesve (66 prej të cilëve e kanë marrë pjesën e parë në zhvillimin e Git).

Ndryshimet kryesore risitë:

  • Ă«shtĂ« realizuar komandagit historye cila ofron mundĂ«si eksperimentale pĂ«r riparimin e historisĂ« sĂ« ndryshimeve, mĂ« tĂ« thjeshta dhe mĂ« tĂ« sigurta pĂ«r t'u pĂ«rdorur sesa rebazimi i commit-eve me komandĂ«n git rebase. Ofron dy operacione:

    • git history reword pĂ«r tĂ« riparuar mesazhin nĂ« commit-in e specifikuar pa ndryshuar pemĂ«n e punĂ«s dhe indeksin (pĂ«rveç shĂ«nimit, e gjitha mbetet e paprekur). PĂ«r shembull, pĂ«r tĂ« korrigjuar njĂ« gabim shtypi.
    • git history split pĂ«r ndarjen interaktive tĂ« commit-it tĂ« specifikuar nĂ« dy commit-e tĂ« ndryshme me lĂ«vizjen e pjesĂ«ve tĂ« pĂ«rzgjedhura nga commit-i origjinal nĂ« njĂ« commit shtesĂ«.

    Në edicionet e ardhshme pritet shtimi i komandave të tjera: git history fixup për të korrigjuar një commit, git history drop për të fshirë një commit, git history reorder për të ndryshuar rendin e ndjekjes së commit-eve dhe git history squash për të bashkuar commit-et.

  • Ă«shtĂ« realizuar njĂ« metodĂ« e re pĂ«r pĂ«rcaktimin e pĂ«rpunuesve (skritp-hook) nĂ« skedaret e konfigurimit. NĂ« vend tĂ« vendosjes sĂ« skripteve me pĂ«rpunues nĂ« katalogun .git/hooks nĂ« çdo repository, komandat pĂ«r thirrjen e pĂ«rpunuesve tani mund tĂ« pĂ«rcaktohen direkt nĂ« skedaret e konfigurimit. CilĂ«simet mund tĂ« lidhen me repository-n apo tĂ« specifikohen nĂ« skedaret e konfigurimit qĂ« veprojnĂ« pĂ«r tĂ« gjitha repository-t (/etc/gitconfig) ose pĂ«r repository-t e pĂ«rdoruesit (~/.gitconfig). ËshtĂ« e mundur tĂ« lidhen disa pĂ«rpunues me njĂ« ngjarje. Skripte nga .git/hooks pĂ«rsĂ«ri vazhdojnĂ« tĂ« thirren, por nisin pas pĂ«rpunuesve nga skedaret e konfigurimit. PĂ«r tĂ« parĂ« listĂ«n e pĂ«rpunuesve, duhet tĂ« pĂ«rdoret komanda git hook list, dhe pĂ«r tĂ« çaktivizuar selektivisht thirrjen e pĂ«rpunuesve – konfigurimi hook..enabled = false:

[hook "linter"] event = pre-commit command = ~/bin/linter —cpp20 [hook "no-leaks"] event = pre-commit command = ~/bin/leak-detector $ git hook list pre-commit global linter ~/bin/linter —cpp20 local no-leaks ~/bin/leak-detector

  • NĂ« komandĂ«ngit maintenancestrategjia e cila Ă«shtĂ« e angazhuar si standard Ă«shtĂ« strategjia geometric (git config set maintenance.strategy geometric), e cila lejon reduktimin e kohĂ«s sĂ« mirĂ«mbajtjes pĂ«r monorepositorĂ«t e mĂ«dhenj. NĂ« krahasim me strategjinĂ« e pĂ«rdorur mĂ« parĂ«, e cila pĂ«rdor logjikĂ«n si nĂ« komandĂ«n git gc, strategjia e re shmang ri-paketime tĂ« tĂ« gjithĂ« objekteve dhe pĂ«rjashton operacionet shumĂ« kĂ«rkuese pĂ«r burime, si bashkimi i tĂ« gjithĂ« skedarĂ«ve pack (sa mĂ« shumĂ« qĂ« Ă«shtĂ« e mundur, bashkimi bĂ«het nĂ« pjesĂ« dhe pa pastrimin e objekteve tĂ« fshira).
  • Baza e tĂ« dhĂ«nave tĂ« objekteve (ODB) dhe API-tĂ« e lidhura me tĂ« janĂ« transferuar nĂ« njĂ« arkitekturĂ« tĂ« re, tĂ« bazuar nĂ« pĂ«rdorimin e backend-Ă«ve tĂ« palosshĂ«m. Ristrukturimi i bĂ«rĂ« e abstrakton formatin e ruajtjes sĂ« objekteve dhe nĂ« tĂ« ardhmen do tĂ« lejojĂ« realizimin e mundĂ«sive tĂ« tilla si backend alternativĂ« dhe formate objekteje, pĂ«r shembull, pĂ«r ruajtjen mĂ« efikase tĂ« skedareve binarĂ« tĂ« mĂ«dhenj apo pĂ«r optimizimin e funksionimit tĂ« hosteve tĂ« mĂ«dhenj git.
  • NĂ« komandĂ«ngit repo structuretani ofron informacion mbi strukturĂ«n e repository-it, duke siguruar jo vetĂ«m madhĂ«sinĂ« totale, por edhe shfaqjen e objekteve mĂ« tĂ« mĂ«dha tĂ« secilit lloj, qĂ« lejon vlerĂ«simin e madhĂ«sisĂ« pa pĂ«rdorimin e njĂ« utilitare tĂ« jashtme git-sizer.

$ git repo structure 
 | * Largest objects | | | * Commits | | | * Maximum size [1] | 17.23 KiB | | * Maximum parents [2] | 10 | | * Trees | | | * Maximum size [3] | 58.85 KiB | | * Maximum entries [4] | 1.18 k | | * Blobs | | | * Maximum size [5] | 1019.51 KiB | | * Tags | | | * Maximum size [6] | 7.13 KiB |

  • NĂ« komandĂ«ngit replayi cili aplikohet nĂ« vend tĂ« git rebase pĂ«r tĂ« rikrijuar historinĂ« nĂ« server pa pemĂ«n e punĂ«s, pĂ«rfshin azhurnimin atomik tĂ« referencave (nĂ« vend tĂ« shfaqjes sĂ« listĂ«s sĂ« komandave update-ref pĂ«r ekzekutim manual), Ă«shtĂ« realizuar opsioni —revert pĂ«r tĂ« anuluar ndryshimet nga njĂ« seri commit-esh, Ă«shtĂ« siguruar ndarjen e commit-eve tĂ« zbrazĂ«ta qĂ« rezultojnĂ« dhe Ă«shtĂ« krijuar mundĂ«sia pĂ«r rikrijimin e historisĂ« deri nĂ« commit-in rrĂ«njĂ«sor.
  • NĂ«git rev-listdhe komanda tĂ« ngjashme Ă«shtĂ« shtuar opsioni —maximal-only pĂ«r tĂ« shfaqur vetĂ«m commit-et, tĂ« cilat nuk janĂ« tĂ« arritshme nga commit-e tĂ« tjerĂ«.
  • NĂ« komandĂ«ngit repo infoĂ«shtĂ« shtuar opsioni —keys pĂ«r tĂ« shfaqur njĂ« listĂ« tĂ« tĂ« gjithĂ« çelĂ«save tĂ« njohur.
  • NĂ« komandĂ«ngit add -p» gjatĂ« navigimit midis blloqeve tĂ« kodit me çelĂ«sat «J» dhe «K» sigurohet shĂ«nimi i blloqeve tĂ« miratuara dhe atyre tĂ« anashkalura. Shtuar opsioni —no-auto-advance pĂ«r tĂ« çaktivizuar kalimin automatik nĂ« skedarin tjetĂ«r, pĂ«r tĂ« pasur mundĂ«sinĂ« tĂ« kthehesh nĂ« skedarĂ«t e mĂ«parshĂ«m para komitit.
  • Optimizuar ndĂ«rfaqen web tĂ« «gitweb» pĂ«r punĂ« me pajisje mobile.
  • NĂ« komandĂ«ngit apply –directory» para pĂ«rdorimit, siguruar normalizimi i rrugĂ«ve tĂ« skedarĂ«ve si ./un/../normalized/path.
  • Dokumentuar mundĂ«sinĂ« e shtimit tĂ« nĂ«nkomandave tĂ« personalizuara pĂ«rmes vendosjes sĂ« skedarĂ«ve git-<cmd> nĂ« katalogun me skedarĂ«t e ekzekutueshĂ«m.
  • NĂ« komandĂ«ngit send-email» e shtuar mbĂ«shtetje pĂ«r certifikatat e klientit.
  • PĂ«r komandĂ«n «git status» realizuar konfigurimi status.compareBranches, pĂ«rmes tĂ« cilit mund tĂ« pĂ«rcaktohen degĂ«t, me tĂ« cilat do tĂ« bĂ«het krahasimi i degĂ«s aktuale:

[status] compareBranches = @{upstream} @{push}

  • NĂ«git rebase» e shtuar opsioni —trailer pĂ«r tĂ« thjeshtuar shtimin e metadata nĂ« tĂ« gjitha komitetet:

git rebase —trailer "Reviewed-by: Test <test@example.com>"`

  • NĂ« komandĂ«ngit fast-import» e shtuar mundĂ«sia e zĂ«vendĂ«simit tĂ« nĂ«nshkrimeve pĂ«r komitetet qĂ« janĂ« bĂ«rĂ« tĂ« pavlefshme pas importit.
  • Shtuar mbĂ«shtetje pĂ«r paketimin (compaction) e indekseve shumĂ«paketĂ« MIDX, ku ndĂ«rrohen shtresat e vogla tĂ« indekseve MIDX me informacion mbi disponueshmĂ«rinĂ« e objekteve dhe skedarĂ«t bitmap tĂ« lidhur, gjĂ« qĂ« lejon tĂ« reduktohet numri i shtresave tĂ« akumuluara nĂ« depo tĂ« vjetra.
  • NĂ« komandĂ«n git backfill realizuar mundĂ«sia pĂ«r tĂ« treguar revizionet (intervale tĂ« komiteteve) dhe maskat e rrugĂ«ve (pathspec) pĂ«r tĂ« kufizuar pjesĂ«t e historisĂ« sĂ« ndryshimeve qĂ« merren:

git backfill main~100..main git backfill — ‘*.c’

  • TĂ« dhĂ«na alternative pĂ«r thirrjen e komandĂ«s git config list – git config -l dhe git config —list.
  • Lejohet pĂ«rdorimi i simboleve jo-ASCII nĂ« emrat e pseudonimeve tĂ« komandave, tĂ« caktuara nĂ« skedarin e konfigurimit:

[alias "merr"] command = fetch

  • ËshtĂ« ndryshuar shfaqja e nĂ«nshkrimeve, pĂ«r tĂ« cilat ka skaduar afati i çelĂ«sit GPG, por qĂ« ishin tĂ« vlefshme nĂ« momentin e nĂ«nshkrimit tĂ« komitetit. NĂ«nshkrime tĂ« tilla tani shfaqen si tĂ« sakta me njĂ« shĂ«nim pĂ«r skadimin e çelĂ«sit (mĂ« parĂ« ato ishin theksuar me ngjyrĂ« tĂ« kuqe, duke krijuar pĂ«rshtypjen e pavlefshmĂ«risĂ«).
  • Kur aksesoni depozitĂ« pĂ«rmes HTTP sigurohet trajtimi i gabimit me kodin 429 (Too Many Requests). KĂ«rkesat qĂ« pĂ«rfundojnĂ« me kĂ«tĂ« gabim tani trajtohen jo si njĂ« problem fatal, por si njĂ« gabim tĂ« pĂ«rkohshĂ«m, pĂ«r tĂ« cilin pas njĂ« kohe duhet pĂ«rsĂ«ritur operacionin. Vonesa para pĂ«rsĂ«ritjes caktohet pĂ«rmes opsionit http.retryAfter, numri i pĂ«rsĂ«ritjeve – http.maxRetries, koha e pritjes – http.maxRetryTime.

Burimi: linux.org.ru

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster