ĂshtĂ« publikuar versioni i sistemit tĂ« menaxhimit tĂ« burimeve tĂ« shpĂ«rndara Git 2.38. 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 jolinjear, tĂ« bazuara nĂ« degĂ«zimin dhe bashkimin e degĂ«ve. PĂ«r tĂ« siguruar integritetin e historisĂ« dhe stabilitetin ndaj ndryshimeve "me pas" pĂ«rdoren heqje e heshtur e tĂ«rĂ« historikĂ«s sĂ« mĂ«parshme nĂ« çdo komit, siç Ă«shtĂ« e mundur edhe verifikimi me nĂ«nshkrime digjitale tĂ« zhvilluesve pĂ«r etiketat dhe komitet e veçanta.
Në krahasim me versionin e kaluar, versioni i ri përfshin 699 ndryshime, të përgatitura me pjesëmarrjen e 92 zhvilluesve, nga të cilët 24 kanë marrë pjesë për herë të parë në zhvillimin. Risi kryesore:
- Në përbërjen kryesore është përfshirë utilitari "scalar", i zhvilluar nga Microsoft për menaxhimin e repozitorëve të mëdhenj. Utilitari fillimisht ishte shkruar në C#, por versioni i rishikuar është përfshirë në git në C. Utilitari i ri dallon nga komanda git duke përfshirë në mënyrë të parazgjedhur mundësi dhe konfigurime shtesë që ndikojnë në performancën e punës me repozitorë shumë të mëdhenj. Për shembull, kur përdoret scalar, ai aplikon:
- Kloni i pjesshëm për punë me një kopje të paplotë të repozitorit.
- Mekanizmi i ndjekjes së ndryshimeve në sistemin e skedarëve (FSMonitor), i cili lejon evitimin e shfletimit të gjithë katalogut të punës.
- Indekse që përfshijnë objekte nga skedarë të ndryshëm pack (multi-pack).
- Skedarët commit-graph me indeksin e grafës së komiteteve, të përdorur për optimizimin e aksesit në informacionin për komitetet.
- Punët periodike në sfond për të mbajtur strukturën optimale të repozitorit në sfond, pa bllokuar seancën interaktive (një herë në orë ekzekutohet një punë për parazgjedhjen e ngarkesave të reja nga repozitori i largët dhe për azhurnimin e skedarit me grafën e komiteteve, ndërsa çdo natë iniciohet një proces pakete për repozitorin).
- Rezhimi "sparseCheckoutCone", që kufizon modelet e lejuara gjatë klonimit të pjesshëm.
- NĂ« komandĂ«n "git rebase" Ă«shtĂ« shtuar opsioni "âupdate-refs" pĂ«r azhurnimin e degĂ«ve tĂ« varura qĂ« ndĂ«rseken me degĂ«t e lĂ«vizshme, pĂ«r tĂ« shmangur ekzekutimin manual tĂ« operacioneve checkout pĂ«r çdo degĂ« tĂ« varur pĂ«r tĂ« kaluar nĂ« komitin e kĂ«rkuar.
- Komanda «git rm» tani është e pajtueshme me indekset e pjesshme.
- Përmirësimi i sjelljes së komandës «git mv A B» kur lëviz një skedar nga zona e punës me indekse të pjesshme në një zonë të jashtme, për të cilën ky mod është i pamjaftueshëm.
- Optimizimi i formatit bitmap pĂ«r tĂ« punuar me depo tĂ« mĂ«dha â shtimi i njĂ« tabele indeksuese opsionale me listĂ«n e komiteteve tĂ« zgjedhura dhe shtrirjet e tyre.
- Në komandën «git merge-tree» është implementuar një mod i ri ku, mbi bazën e dy komiteteve të specifikuara, llogaritet një pemë me rezultatin e bashkimit, ashtu si do të ishte nëse historitë e këtyre komiteteve do të ishin bashkuar.
- Shtuar konfigurimi «safe.barerepository» për të menaxhuar mundësinë e vendosjes së bare-repozitorive (depozita pa një strukturë pune) brenda repozitoreve të tjera git. Kur vendoset në vlerën «explicit», do të lejohet puna me bare-repozitorit të vendosur vetëm në katalogun e lartë. Për të lejuar vendosjen e bare-repozitorive në nënkatalogë, duhet të përdoret vlera «all».
- NĂ« komandĂ«n «git grep» Ă«shtĂ« shtuar opsioni «-m» («âmax-count»), i ngjashĂ«m me opsionin me tĂ« njĂ«jtin emĂ«r nĂ« GNU grep, i cili lejon kufizimin e numrit tĂ« pĂ«rputhjeve tĂ« shfaqura.
- NĂ« komandĂ«n «ls-files» Ă«shtĂ« realizuar opsioni «âformat» pĂ«r tĂ« konfiguruar fushat e shfaqura (p.sh., mund tĂ« pĂ«rfshihet shfaqja e emrit tĂ« objektit, regjimeve, etj.).
- Në «git cat-file», gjatë shfaqjes së përmbajtjes së objekteve është realizuar mundësia e marrjes parasysh e lidhjeve të autorëve me email, të specifikuar në skedarin mailmap.
Burimi: opennet.ru
