Git 2.24 banatutako iturri-kontrol sistemaren kaleratzea

Eskuragarri iturburu-kontrol sistema banatua askatzea Git 2.24.0. Git bertsioak kontrolatzeko sistema ezagunenetako, fidagarri eta errendimendu handikoenetako bat da, adarkatze eta bategitean oinarritutako garapen-tresna ez-lineal malguak eskaintzen ditu. Historiaren osotasuna eta aldaketa atzerakoiekiko erresistentzia bermatzeko, aurreko historia osoaren hashing inplizitua erabiltzen da konpromiso bakoitzean; gainera, etiketa eta konpromisoak garatzaileen sinadura digitalarekin ziurta daitezke.

Aurreko bertsioarekin alderatuta, bertsio berriak 544 aldaketa izan zituen, 78 garatzaileren parte-hartzearekin prestatuak, eta horietatik 21k garapenean parte hartu zuten lehen aldiz. Nagusia berrikuntzak:

  • Konfigurazio makroetarako euskarria gehitu da, zeinaren bidez ezarpen-multzo desberdinen artean azkar aldatzeko, haiekin lotutako aukera zehatzei buruzko xehetasunetan sartu gabe. Makroen laguntzaz, ez dago gogoratu beharrik zein ezarpen aldatu behar diren funtzionalitate hau edo beste aktibatzeko. Adibidez, biltegi handi bat motela bada, baliteke indexazio-motor berri batera aldatzea, bide-aurrizkiaren konpresioa gaitu eta jarraipena gabeko fitxategien cachea gaitu nahi izatea index.version 4 gisa ezarriz eta core.untrackedCache gaituta. Makroek dokumentazioan soluzio egokia bilatzen denborarik ez galtzeko aukera ematen dute, baizik eta fitxategi kopuru handia duten biltegietarako optimizazioekin ezarpenak berehala aktibatzeko:

    git config feature.manyFiles egia

  • Objektuak commit grafo gisa gordetzea lehenespenez gaituta dago orain. Ezaugarri honek grafo-egitura bat erabiltzen du indexatzeko, beste objektu batzuetarako estekak dituzten objektu-hash zerrenda lineal baten ordez. Lehen, konponketa espezifiko bat zuten bertsioak identifikatzeko, objektu bakoitza diskotik kargatzea beharrezkoa zen estekak aurkitzeko. Orain, grafoen biltegiratzearekin, beharrezko esteka guztiak aldi berean identifikatu daitezke. Kernel biltegietan commit grafoen biltegiratzera igarotzea Linux Gitek ia bikoiztu egin du adar-eragiketen errendimendua. Git 2.24 bertsiora eguneratu ondoren biltegiratze-metodo berria aktibatzeko, exekutatu "git gc" komandoa.

    Commit-graph-ekin erlazionatutako aldaketen artean, eragiketaren aurrerapenaren adierazlea commit-graph-ekin erlazionatutako komandoetan ("git commit-graph write", "git commit-graph verify", etab.) ekarri dela ere adierazi dugu. beste agindu batzuekin forma arrunt batera.). Aurrerapen-adierazlea terminalerako bakarrik bistaratzen da lehenespenez (erabili "-[no-]progress" aukera portaera aldatzeko). Horrez gain, fetch.writeCommitGraph konfigurazio-parametro berri bat gehitu da, eta horrek fitxategia commit grafikoarekin automatikoki eguneratzea ahalbidetzen du "git fetch" eragiketetan (kanpoko biltegietatik berreskuratutako konpromezu guztiak berehala joango dira commit-graphera beharrik gabe). exekutatu auto-gc bereizita);

  • Aldaketen historia gainidazteko komando bat gehitu da - "git filter-repo", komandoaren alternatiba sinpleagoa dena "git iragazki-adarra» biltegiko aldaketen historiari buruzko eragiketak egiteko (adibidez, fitxategi bat biltegitik ezabatzea edo direktorio zehatz bateko aldaketen historia berreskuratzea). Eraginkortasuna hobetzeko, konpromisoz-konpromiso analisi ordenatua egin beharrean, git filter-repo-k historiako irudikapenean eragiketak egiten ditu etengabeko korronte moduan.

    Historiaren iragazketa "-path-{glob,regex}" aukeraren bidez egiten da, maskara sinpleak zein adierazpen erregularrak erabiltzeko aukera ematen duena. Bilaketa bat egiteko eta zehaztutako tamaina baino handiagoak diren objektu bitarrak ordezkatzeko edo garbitzeko aukerak ere badaude. Berridatzitako konpromiso bakoitza SHA-1 hash-identifikatzaile berri batekin hornitzen da eta ordeztutako konpromisoari buruzko erreferentzia guztiak identifikatzaile berriaren arabera eguneratzen dira.

    Biltegiari buruzko estatistiken laburpena bistaratzeko (objektu kopurua motaren arabera, fitxategi eta direktorio handienak, zein luzapen behar duten diskoko leku gehiago, etab.), "-analyze" aukera eskaintzen da. Funtzionalitatea zabaltzeko, Python-en dei-itzulera kudeatzaile arbitrarioak konektatu daitezke, eta horien bidez azpikomando berriak sor ditzakezu eta hainbat gertaera prozesatu (adibidez, fitxategi mota berriak);

  • "--end-of-options" aukera gehitu da esteken izenetatik aukerak bereizteko, "-" karaktere batekin hasi eta aukera gisa tratatu daitekeena ("git log --end-of-options -super-dangerous-option" ). Eguneroko bizitzan horrelako izenak "git log 'refs/heads/—super-dangerous-option'" gisa ihes egin badaitezke, orduan scriptek arazoak izan ditzakete izen-espazioa definitzeko. Orokorrean onartutako " - " mugatzailea ez da aplikagarria kasu honetan, dagoeneko estekaren izenak fitxategietatik bereizteko erabiltzen baita (adibidez, “git log —end-of-options —super-dangerous-option ^master — path/to /fitxategia”);
  • "--strategy" eta "--strategy-option" aukerak gehitu dira "git rebase --rebase-merges" aukeran hautatzeko fusio-estrategiak;
  • ".git/hooks/pre-merge-commit" kudeatzaile berri bat gehitu da, bateratze bat amaitu ondoren baina ondoriozko konpromisoa idatzi aurretik;
  • Komando espezifikoen ezarpenei dagokienez konfigurazio-aldagaiak osatzeko laguntza gehitu da komandoak osatzeko motorra.
    Adibidez, "git -c core.autocrlf=false add path/to/my/file" idatzi behar baduzu, baina "core.autocrlf" aldagaiaren izen zehatza gogoratzen ez baduzu, Tab sakatu eta bat lor dezakezu. iradokizuna.

Gainera, Git garatzaileak gehitu du Proiektuko parte-hartzaile baten jokabide-kodea, gatazka-egoerak konpontzeko oinarrizko printzipioak definitzen dituena. Dokumentua gomendioetan oinarritzen da "Kolaboratzaileen Ituna", kode irekiko proiektu askotan erabiltzen da, kernela barne Linux, Eclipse, Freedesktop, GitLab, Ruby eta Kubernetes. Dokumentu honek parte-hartzaile guztientzat aukera berdintasuna bermatzen du, haien mundu-ikuskera, adina, sexua, erlijio-sinesmenak, hezkuntza-maila, gizarte-egoera eta nazionalitatea edozein dela ere. Komunitateak komunikazio atsegina, ulermena, besteen arazoekiko enpatia, kritika eraikitzailea onartzea eta komunitate osoarentzat onenak diren irtenbideak hartzea sustatzen ditu. Ez dira onartzen trolling-a, komunikazio iraingarria, umiliazio-saiakerak, jazarpena, pribatutasunaren urraketa, informazio pertsonala zabaltzea eta komunikazio profesionalean desegokitzat jo daitezkeen beste ekintzak.

Iturria: opennet.ru

Erosi hosting fidagarria DDoS babesa duten guneetarako, VPS VDS zerbitzariak 🔥 Erosi webguneentzako ostatu fidagarria DDoS babesarekin, VPS VDS zerbitzariak | ProHoster