Lëshimi i sistemit të menaxhimit të kodit burimor të shpërndarë Git 2.24

I disponueshëm lëshimi i sistemit të distribuar të menaxhimit të kodit burimor Git 2.24.0. Git është një nga sistemet më të njohura, të besueshme dhe me performancë të lartë për menaxhimin e versioneve, që ofron mjete fleksibile për zhvillimin jolinear, të bazuara në degëzimin dhe bashkimin e degëve. Për të siguruar integritetin e historisë dhe qëndrueshmërinë ndaj ndryshimeve "mbrapa në kohë" përdoret hashingu implicit i gjithë historisë së mëparshme në çdo commit, gjithashtu është e mundur vërtetimi me nënshkrime digjitale të etiketave dhe komiteve të veçanta.

Në krahasim me lëshimin e kaluar, në versionin e ri janë pranuar 544 ndryshime, të përgatitura me pjesëmarrjen e 78 zhvilluesve, nga të cilët 21 morën pjesë për herë të parë në zhvillim. Main innovations:

  • Shtuar mbĂ«shtetje pĂ«r makrosistema konfigurimi, pĂ«rmes tĂ« cilave mund tĂ« kaloni shpejt midis grupeve tĂ« ndryshme tĂ« cilĂ«simeve, pa u thelluar nĂ« detajet e opsioneve specifike qĂ« lidhen me to. Me ndihmĂ«n e makrosistemave, nuk ka nevojĂ« tĂ« mbani mend se cilat cilĂ«sime duhet tĂ« ndryshoni pĂ«r tĂ« aktivizuar funksionalitete tĂ« caktuara. PĂ«r shembull, nĂ« rastin e ngadalĂ«simit tĂ« punĂ«s me njĂ« depo tĂ« madhe, mund tĂ« jetĂ« e nevojshme tĂ« kaloni nĂ« mekanizmin e ri tĂ« indeksimit, tĂ« aktivizoni kompresimin e prefikseve tĂ« rrugĂ«ve dhe tĂ« angazhoni cache tĂ« skedave tĂ« pa ndjekura, duke vendosur parametrin index.version nĂ« vlerĂ«n 4 dhe duke aktivizuar core.untrackedCache. Makrosistemat lejojnĂ« qĂ« mos tĂ« humbni kohĂ« nĂ« kĂ«rkimin e zgjidhjeve tĂ« nevojshme nĂ« dokumentacion, por tĂ« aktivizoni menjĂ«herĂ« cilĂ«simet me optimizime pĂ«r depo tĂ« shumta skedash:

    git config feature.manyFiles true

  • E vendosur si parazgjedhje ruajtja e objekteve nĂ« formĂ«n e grafit tĂ« komiteteve (commit-graph), ku indeksohet jo me njĂ« listĂ« lineare tĂ« hash-eve tĂ« objekteve me lidhje nĂ« objekte tĂ« tjera, por me njĂ« strukturĂ« grafike. NĂ«se mĂ« parĂ« pĂ«r tĂ« pĂ«rcaktuar lĂ«shimet qĂ« pĂ«rmbajnĂ« njĂ« korrigjim tĂ« caktuar, kĂ«rkohej ngarkimi i çdo objekti nga disku pĂ«r tĂ« kĂ«rkuar lidhjet, tani me ruajtjen nĂ« formĂ«n e grafit mund tĂ« pĂ«rcaktohen menjĂ«herĂ« tĂ« gjitha lidhjet e nevojshme. Kalimi nĂ« ruajtjen nĂ« formĂ«n e grafit tĂ« komiteteve nĂ« depo tĂ« kernelit Linux dhe Git ka arritur gati dyfishimin e performacĂ«s sĂ« operacioneve me degĂ«. PĂ«r tĂ« aktivizuar metodĂ«n e re tĂ« ruajtjes pas pĂ«rmirĂ«simit nĂ« Git 2.24, duhet tĂ« kryeni komandĂ«n «git gc».

    Nga ndryshimet e lidhura me commit-graph, gjithashtu shënohet standardizimi i mënyrës së implementimit të treguesit të përparimit të ekzekutimit të operacioneve në komandat e lidhura me commit-graph («git commit-graph write», «git commit-graph verify» etj.). Treguesi i përparimit tani dhënë si parazgjedhje shfaqet vetëm për terminalin (për të ndryshuar sjelljen duhet të përdoret opsioni «-[no-]progress»). Për më tepër, është shtuar një parametr i ri konfigurimi fetch.writeCommitGraph, i cili përfshin përditësimin automatike të skedarit me grafikonin e kommit-eve gjatë operacioneve «git fetch» (të gjitha kommit-et e nxjerra nga repozitoritë e jashtme do të kalojnë menjëherë në commit-graph pa nevojën për të ekzekutuar veçmas auto-gc);

  • Komanda pĂ«r tĂ« riparuar historinĂ« e ndryshimeve Ă«shtĂ« shtuar — «git filter-repo», e cila Ă«shtĂ« njĂ« alternativĂ« mĂ« e lehtĂ« pĂ«r komandĂ«n «git filter-branch» pĂ«r tĂ« kryer operacione me historinĂ« e ndryshimeve nĂ« repozitorin (p.sh., fshirja e njĂ« skedari nga repozitori ose nxjerrja e historisĂ« sĂ« ndryshimeve tĂ« njĂ« katalogu tĂ« caktuar). PĂ«r tĂ« rritur efikasitetin, nĂ« vend tĂ« analizĂ«s sĂ« renditur tĂ« kommit-eve nĂ« «git filter-repo», operacionet kryhen mbi pamjen e historisĂ« nĂ« formĂ«n e njĂ« fluksi tĂ« vazhdueshĂ«m.

    Filtrimi i historisĂ« bĂ«het me anĂ« tĂ« opsionit «-path-{glob,regex}», qĂ« lejon aplikimin e maskave tĂ« thjeshta si dhe shprehjeve tĂ« rregullta. Po ashtu, ka opsione pĂ«r tĂ« kryer operacionin «kĂ«rko dhe zĂ«vendĂ«so» ose pastrimin e objekteve binarĂ« qĂ« tejkalojnĂ« njĂ« madhĂ«si tĂ« caktuar. Çdo kommit i riparuar Ă«shtĂ« i pajisur me njĂ« identifikues tĂ« ri hash SHA-1 dhe nĂ« pĂ«rputhje me identifikuesin e ri, tĂ« gjitha lidhjet e kommit tĂ« zĂ«vendĂ«suar pĂ«rditĂ«sohen.

    Për të dhënë një përmbledhje me statistika mbi repozitorin (numri i objekteve sipas llojeve, skedarët dhe katalogët më të mëdhenj, cilat shkronja kërkojnë më shumë hapësirë në disk etj.) është parashikuar një opsion «-analyze». Për të zgjeruar funksionalitetin, ekziston mundësia e lidhjes së callback-handlerve të rastësishëm në gjuhën Python, përmes të cilëve mund të krijohen komandë të reja, si dhe të trajtohen ngjarje të ndryshme (p.sh., lloje të reja skedarësh);

  • ËshtĂ« shtuar opsioni «—end-of-options», qĂ« lejon ndarjen e opsioneve nga emrat e lidhjeve, tĂ« cilat mund tĂ« fillojnĂ« me simbolin «-» dhe tĂ« perceptohen si opsione («git log —end-of-options —super-dangerous-option»). NĂ«se nĂ« praktikĂ« emrat e tillĂ« mund tĂ« ekranohet si «git log ‘refs/heads/—super-dangerous-option'», atĂ«herĂ« nĂ« skriptet mund tĂ« kenĂ« ndodhur probleme me pĂ«rcaktimin e hapĂ«sirĂ«s emĂ«rore. NdĂ«rruesi i zakonshĂ«m » — » pĂ«r kĂ«tĂ« rast nuk Ă«shtĂ« i aplicueshĂ«m, pasi Ă«shtĂ« tashmĂ« nĂ« pĂ«rdorim pĂ«r ndarjen e emrave tĂ« lidhjeve nga skedarĂ«t (p.sh., «git log —end-of-options —super-dangerous-option ^master — path/to/file»);
  • NĂ« «git rebase —rebase-merges» janĂ« shtuar opsionet «—strategy» dhe «—strategy-option» pĂ«r tĂ« zgjedhur strategjinĂ« e bashkimit;
  • ËshtĂ« shtuar njĂ« trajtues i ri «.git/hooks/pre-merge-commit», i cili thirret pas pĂ«rfundimit tĂ« bashkimit, por para regjistrimit tĂ« komitit pĂ«rfundimtar;
  • NĂ« motorin e autokompletimit tĂ« komandave Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r kompletimin e variablave tĂ« konfigurimit nĂ« lidhje me cilĂ«simet e komandave specifike.
    Për shembull, nëse këni nevojë të shkruani «git -c core.autocrlf=false add path/to/my/file», por nuk e mbani mend emrin e saktë të variablës «core.autocrlf», mund të shtypni Tab dhe të merrni një sugjerim.

Përveç kësaj, zhvilluesit e Git shtuan kodin e sjelljes së pjesëmarrësve në projekt, i cili përcakton parimet thelbësore për zgjidhjen e situatave konfliktuale. Dokumenti bazohet në rekomandimet e «Contributor Covenant«, të aplikuara në shumë projekte të hapura, duke përfshirë bërthamën Linux, Eclipse, Freedesktop, GitLab, Ruby dhe Kubernetes. Dokumenti përcakton mundësi të barabarta për të gjithë pjesëmarrësit, pavarësisht nga ideologjia e tyre, mosha, gjinia, preferencat fetare, niveli i arsimimit, statusi social dhe kombësia. Në komunitet inkurajohet një formë komunikimi miqësore, kuptimi dhe empatia për problemet e pjesëmarrësve të tjerë, përthithja e kritikave ndihmuese dhe miratimi i zgjidhjeve më të mira për të gjithë komunitetin. Nuk lejohet trolimi, komunikimi ofendues, përpjekjet për nënçmim, ngacmimi, shkelja e privatësisë, zbulimi i informacionit personal, si dhe veprime të tjera që mund të konsiderohen të papërshtatshme gjatë komunikimit profesional.

Burimi: opennet.ru

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