Pirms dažām dienām tas tika paziņots Git 2.50 projekta jaunās versijas izlaišana, ieviešot vairāk nekā 600 izmaiņas ko virza aktīva kopiena, kurā šoreiz bija 98 izstrādātāji, tostarp 35 jauni līdzstrādnieki.
Šī jaunā Git 2.50 versija izceļas ar jaunu komandu (git-diff-pairs) integrāciju, jaunām tīrīšanas, filtrēšanas un uzturēšanas funkcijām, rekursīvās apvienošanas dzinēja aizstāšanu ar ORT, kā arī veiktspējas uzlabojumiem un kļūdu labojumiem.
Git 2.50 galvenās jaunās funkcijas
Šajā jaunajā Git 2.50 versijā viena no svarīgākajām jaunajām funkcijām ir tā saukto "kraukšķīgas salipšanas" apstrādes optimizācija, Tas ir, objektu pakotnes, kurām nevar piekļūt vai uz kurām neatsaucas zari vai tagi. Tradicionāli Git šos objektus glabāja vienā, lielā pakotnes failā, kas varēja radīt veiktspējas problēmas, atkārtoti iesaiņojot repozitorijus ar daudziem no šiem elementiem.
Ar jauno versiju, Git ļauj sadalīt šīs Cruft pakotnes vairākos mazākos failos., kas samazina diska izmantošanu un uzlabo ievades/izvades veiktspēju lielapjoma operācijām. Turklāt, sun ievadiet opciju –combine-cruft-below-size, kas ļauj apvienot mazos iepakojumus vienā elastīgāk nekā iepriekšējā –max-cruft-size opcija, neierobežojot apvienotā faila lielumu. Šī jaunā funkcija ir īpaši noderīga projektos ar bāreņu objektiem, kas izkliedēti vairākās pakotnēs.
Vēl viens uzlabojums, kas vērsts uz liela mēroga krātuvēm, ir eksperimentāls atbalsts pakāpeniskā atjaunināšana MIDX indeksi , kas Tie glabā informāciju par objektiem atsevišķos slāņos izmantojot bitkartes failus, kas ļauj ātrāk veikt atjauninājumus, pievienojot jaunus izmaiņu ierakstus. Šis uzlabojums ir kritiski svarīgs lieliem repozitorijiem, kuriem nepieciešamas ātras indeksēšanas darbības, pilnībā neatjaunojot metadatus.
Rekursīvās apvienošanas dzinēja pilnīga aizstāšana ar ORT
Git 2.50 ievieš būtiskas izmaiņas ar rekursīvās kodolsintēzes dzinēja neatgriezeniska noņemšana tradicionāls. Tā vietā ORT izmantošana ir konsolidēta, Viena modernāks, uzturamāks un efektīvāks kodolsintēzes dzinējs. ORT ne tikai piedāvā precīzāku konfliktu analīzi, bet arī ļauj pārbaudīt, vai apvienošana ir iespējama, neģenerējot papildu objektus. Turklāt merge-tree komanda tagad ietver opciju –quiet, ko var izmantot kā klusu apvienošanas pārbaudītāju, nemainot repozitoriju.
gitt-diff-pairs: risinājums mērogojamības problēmām
Koda pārskatīšana neapšaubāmi ir viens no mūsdienu sadarbības izstrādes pīlāriem, un atšķirībām vai nesakritībām starp versijām ir svarīga loma šajā procesā. Līdz ar Git 2.50 parādīšanos ir ieviests risinājums, kas paredzēts mērogojamībai: jaunā komanda git-diff-pairs.
Tradicionāli, lai salīdzinātu divas versijas, tiek izmantota šāda komanda:
git diff HEAD~1 HEAD
Tas ģenerē pilnīgu ielāpu, kas satur visas izmaiņas starp uzskaitītajām versijām. Lai gan daudzos gadījumos tas ir efektīvs, tas var radīt veiktspējas problēmas, strādājot ar lieliem modificētu failu kopumiem.
Tāpēc git-diff-pairs tika īpaši izstrādāts, lai saņemtu neapstrādātus ievades datus tieši no git diff-tree izvades un efektīvi un precīzi ģenerētu atbilstošos ielāpus.
Lietošana ir tikpat vienkārša kā:
git diff-tree -r -z -M HEAD~ HEAD | git diff-pairs -z
Šī komanda ņem norādītos blobu pārus un ģenerē precīzu diff izvadi, saglabājot kontekstuālo informāciju un ļaujot darbu sadalīt mazākās partijās. Tas paver iespējas paralēlai apstrādei, uzlabo resursu efektivitāti un atvieglo mērogojamību diff balstītos rīkos, piemēram, GitLab.
Jaunas tīrīšanas, filtrēšanas un apkopes funkcijas
Git 2.50 ietver vairākus papildu rīkus, kas paredzēti, lai uzlabotu repozitorija uzturēšanu:
- Komanda ir pievienota git reblog kritums, kas ļauj pilnībā izdzēst konkrētas filiāles atkārtotu žurnāla izveidi, kas ir ideāli piemērots darba vēstures sakopšanai, kad vairs nav nepieciešams uzturēt iepriekšējās atsauces.
- Iespēja –filtrs `cat-file –batch` tagad ir pieejams `git` vidē, ļaujot filtrēt rezultātus pēc objekta tipa.
Turklāt tiek izceltas arī vairākas iekšējās optimizācijas:
- Uzlabota simbolisko saišu izmantošana, izmantojot prefiksu kešatmiņu un samazinot liekās pārbaudes.
- Perl atkarību noņemšana dokumentācijā un testēšanas skriptos, aizstājot tās ar čaulas funkcijām vai C implementācijām, padarot tās vieglāk kompilējamas sistēmās ar minimālām konfigurācijām.
- Ieskaitot kontrolieri lietotāja atšķirība .ini failu atšķirību analīzei.
- Uzlabota komandas git send-email saderība ar SMTP serveriem, piemēram, Outlook.
Visbeidzot, ja vēlaties uzzināt vairāk par to, varat skatīt sīkāku informāciju šī saite.