lëshimi i sistemit të shpërndarë të menaxhimit të kodit burimor . Git është një nga sistemet më të njohura, të besueshme dhe me performancë të lartë për menaxhimin e versioneve, duke ofruar mjete fleksibile për zhvillim jo-linear, të bazuara në degëzimin dhe bashkimin e degëve. Për të siguruar integritetin e historisë dhe qëndrueshmërinë ndaj ndryshimeve 'për pas', përdoret hash-i i implicit i gjithë historisë së mëparshme në çdo commit, siç është e mundur edhe verifikimi me firma digjitale të zhvilluesve të etiketimeve dhe commit-eve të veçanta.
Në krahasim me versionin e kaluar, versioni i ri përmban 544 ndryshime, të përgatitura me ndihmën e 78 zhvilluesve, nga të cilët 21 morën pjesë për herë të parë në zhvillim. :
- ĂshtĂ« shtuar mbĂ«shtetje pĂ«r makro konfigurimi, pĂ«rmes tĂ« cilave mund tĂ« kaloni shpejt midis grupeve tĂ« ndryshme tĂ« cilĂ«simeve, pa u shqetĂ«suar pĂ«r detajet e opsioneve tĂ« lidhura me to. Me anĂ« tĂ« makrove, nuk ka nevojĂ« tĂ« mbani mend se cilat cilĂ«sime duhet tĂ« ndryshoni pĂ«r tĂ« aktivizuar funksionalitete tĂ« caktuara. PĂ«r shembull, nĂ« rast tĂ« ngadalĂ«simit tĂ« punĂ«s me njĂ« depo tĂ« madhe, mund tĂ« nevojitet kalimi nĂ« njĂ« mekanizĂ«m tĂ« ri indeksimi, aktivizimi i kompresimit tĂ« prefikseve dhe aktivizimi i caches pĂ«r skedarĂ«t e pambikĂ«qyrur, duke vendosur parametrin index.version nĂ« vlerĂ«n 4 dhe aktivizuar core.untrackedCache. Makrot ofrojnĂ« mundĂ«sinĂ« pĂ«r tĂ« kursyer kohĂ« duke aktivizuar cilĂ«simet me optimizime pĂ«r depo me numĂ«r tĂ« madh skedarĂ«sh tĂ« menjĂ«hershĂ«m.
git config feature.manyFiles true
- ĂshtĂ« aktivizuar ruajtja e objekteve nĂ« formĂ«n e grafit tĂ« komiteteve (commit-graph) si standard, ku pĂ«r indekson pĂ«rdoret njĂ« strukturĂ« grafike nĂ« vend tĂ« njĂ« liste lineare hash-e me linke nĂ« objekte tĂ« tjera. NĂ«se mĂ« parĂ« pĂ«r tĂ« pĂ«rcaktuar lĂ«shimet qĂ« pĂ«rmbanin njĂ« korrigjim tĂ« caktuar, ishte e nevojshme tĂ« shkarkoheshin çdo objekt nga disku pĂ«r tĂ« gjetur linket, tani me ruajtjen nĂ« formĂ« grafi, lidhjet e nevojshme mund tĂ« pĂ«rcaktohen menjĂ«herĂ«. Kalimi nĂ« ruajtjen nĂ« formĂ« grafi tĂ« komiteteve nĂ« depo tĂ« bĂ«rthamĂ«s Linux dhe Git ka arritur njĂ« rritje gati dyfish tĂ« performancĂ«s nĂ« operacionet me degĂ«. PĂ«r tĂ« aktivizuar metodĂ«n e re tĂ« ruajtjes pas pĂ«rditĂ«simit nĂ« Git 2.24, duhet tĂ« ekzekutoni komandĂ«n "git gc."
Nga ndryshimet që lidhen me commit-graph, gjithashtu shënohet unifikimi në formën e realizimit të treguesve të përparimit të operacionit në komandat që lidhen me commit-graph ("git commit-graph write", "git commit-graph verify" etj.). Treguesi i përparimit tani shfaqet standardisht vetëm për terminalin (për të ndryshuar këtë sjellje, përdorni opsionin "-[no-]progress"). Për më tepër, është shtuar një parameter i ri konfiguroi fetch.writeCommitGraph, i cili aktivizon përditësimin automatik të skedës me grafikun e komiteteve gjatë operacioneve "git fetch" (të gjitha komitetet që nxirren nga depo të jashtme do të përshtaten menjëherë në commit-graph pa nevojën e ekzekutimit të veçantë të auto-gc);
- ĂshtĂ« shtuar njĂ« komandĂ« pĂ«r rishkrimin e historisĂ« sĂ« ndryshimeve â "", e cila Ă«shtĂ« njĂ« alternativĂ« mĂ« e thjeshtĂ« pĂ«r komandĂ«n "" pĂ«r kryerjen e operacioneve mbi historinĂ« e ndryshimeve nĂ« depo (pĂ«r shembull, eliminimin e njĂ« skedari nga depoja ose nxjerrjen e historisĂ« sĂ« ndryshimeve tĂ« njĂ« katalogu tĂ« caktuar). PĂ«r tĂ« rritur efikasitetin, nĂ« vend tĂ« analizĂ«s sĂ« ndarĂ« nĂ« komitete nĂ« "git filter-repo", operacionet kryhen mbi pamjen e historisĂ« nĂ« formĂ« tĂ« njĂ« rrjedhe tĂ« vazhdueshme.
Filtrimi i historisĂ« kryhet pĂ«rmes opsionit "-path-{glob,regex}", i cili lejon aplikimin e maskave tĂ« thjeshta si dhe shprehjeve tĂ« rregullta. Gjithashtu, ka opsione pĂ«r kryerjen e operacionit "kĂ«rkim dhe zĂ«vendĂ«sim" ose pastrimin e objekteve binarĂ«, pĂ«rmasat e tĂ« cilave kalojnĂ« njĂ« vlerĂ« tĂ« caktuar. Ădo komitet i rishkruar furnizohet me njĂ« identifikues tĂ« ri hash SHA-1 dhe sipas identifikuesit tĂ« ri pĂ«rditĂ«sohen tĂ« gjitha lidhjet nĂ« komitetin e zĂ«vendĂ«suar.
Për të dhënë një përmbledhje me statistikë mbi depo (numri i objekteve sipas llojeve, skedarët dhe katalogët më të mëdhenj, cilat zgjerime kërkojnë më shumë hapësirë në disk etj.), ekziston një opsion "-analyze". Për të zgjeruar funksionalitetin, është e mundur të lidhen callback përpunues arbitrar në gjuhën Python, përmes të cilave mund të krijoni komandat e reja, si dhe të përpunoni ngjarje të ndryshme (për shembull, lloje të reja skedarësh);
- ĂshtĂ« shtuar opsioni "âend-of-options", i cili 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Ă« ekzaminohen si "git log ârefs\/heads\/âsuper-dangerous-option'", nĂ« skript mund tĂ« hasen probleme me pĂ«rcaktimin e hapĂ«sirĂ«s sĂ« emrit. NdarĂ«si i zakonshĂ«m "â" nĂ« kĂ«tĂ« rast nuk aplikohet, pasi pĂ«rdoret pĂ«r ndarjen e emrave tĂ« lidhjeve nga skedarĂ«t (pĂ«r shembull, "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 ;
- ĂshtĂ« shtuar njĂ« pĂ«rpunues i ri " .git/hooks/pre-merge-commit", i cili thirret pas pĂ«rfundimit tĂ« pĂ«rzierjes, por para shkruarjes sĂ« komitetit pĂ«rfundimtar;
- Në motorin e automatikisht plotësimit të komandave është shtuar mbështetje për plotësimin e variablave të konfigurimit në lidhje me cilësimet e komandave të caktuara.
Për shembull, nëse është e nevojshme të shkruhet "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 kodeksin e sjelljes së pjesëmarrësit në projekt, i cili përcakton parimet thelbësore të zgjidhjes së situatave konfliktuale. Dokumenti bazohet në rekomandimet "", të aplikuara në shumë projekte të hapura, duke përfshirë bërthamën e Linux, Eclipse, Freedesktop, GitLab, Ruby dhe Kubernetes. Dokumenti përcakton mundësi të barabarta për të gjithë pjesëmarrësit, pavarësisht nga besimi i tyre, mosha, gjinia, preferencat fetare, niveli i arsimimit, statusi social dhe kombësia. Në komunitet, mirëpritet një formë miqësore komunikimi, kuptohet dhe ndijohen problemet e pjesëmarrësve të tjerë, pranohet kritika ndihmuese, dhe merret vendime që janë më të mira për të gjithë komunitetin. Nuk lejohen trollimi, mënyra ofensive e komunikimit, përpjekjet për të poshtëruar, ngacmimi, shkeljet e privatësisë, zbardhja e të dhënave personale, si dhe veprime të tjera që mund të konsiderohen të papërshtatshme në komunikimin profesional.
Burimi: opennet.ru
