IzplatÄ«tās avota kontroles sistēmas Git 2.22 izlaiÅ”ana

Iesniedzis izplatÄ«ta avota kontroles sistēmas izlaiÅ”ana Git 2.22.0. Git ir viena no populārākajām, uzticamākajām un augstas veiktspējas versiju kontroles sistēmām, kas nodroÅ”ina elastÄ«gus nelineārus izstrādes rÄ«kus, kuru pamatā ir sazaroÅ”ana un apvienoÅ”ana. Lai nodroÅ”inātu vēstures integritāti un izturÄ«bu pret atpakaļejoÅ”ajām izmaiņām, tiek izmantota netieÅ”a visas iepriekŔējās vēstures jaukÅ”ana katrā saistÄ«bā, kā arÄ« ir iespējams sertificēt atseviŔķus tagus un saistÄ«bas ar izstrādātāju digitālajiem parakstiem.

SalÄ«dzinot ar iepriekŔējo versiju, jaunajā versijā tika iekļautas 745 izmaiņas, kas sagatavotas, piedaloties 74 izstrādātājiem, no kurām 18 izstrādē piedalÄ«jās pirmo reizi. Galvenais jauninājumiem:

  • Pieejams kopÅ” 1.18. izlaiduma, jaunais apstiprināŔanas atjaunoÅ”anas režīms "git rebase --rebase-merges" aizstāj veco opciju "--preserve-merges", kas tagad ir novecojusi. Operācija "git rebase" tiek izmantota, lai aizstātu virkni saistÄ«bu ar jaunu pamata apņemÅ”anos, piemēram, lai pārvietotu atseviŔķu filiāli, kas izstrādā kādu jaunu lÄ«dzekli, uz paÅ”reizējo galvenās filiāles stāvokli, kas ietver labojumus, kas pievienoti pēc filiāles. :

    o - o - o (mana funkcija)

    /

    o - o - o - o - o (meistars)

    o - o - o (mana funkcija)

    /

    o - o - o - o - o (meistars)

    Lai saglabātu filiāles struktÅ«ru migrētajā zarā, iepriekÅ” varēja izmantot opciju ā€œ--preserve-mergesā€, kas, palaižot interaktÄ«vajā režīmā (git rebase -i --preserve-merges), ļāva rediģēt saistÄ«bu vēsturi, bet negarantēja pilnÄ«gu repozitorija struktÅ«ras saglabāŔanu. Jaunais ā€œ--rebase-mergesā€ režīms ļauj saglabāt migrējamās filiāles izmaiņu struktÅ«ru, vienlaikus nodroÅ”inot pilnu interaktÄ«vu darbÄ«bu klāstu, tostarp saistÄ«bu dzÄ“Å”anu, pārgrupÄ“Å”anu un pārdēvÄ“Å”anu.

    Piemēram, "--rebase-merges" pieļauj atkārtoti augÅ”upielādējiet saistÄ«bas no atseviŔķas filiāles uz jaunāku galveno filiāli, vienlaikus saglabājot filiāles struktÅ«ru migrētajā filiālē, un lidojuma laikā veiciet dažas izmaiņas saistÄ«bu piezÄ«mēs.

  • Pievienots atbalsts jaunas filiāles izveidei, pamatojoties uz divu citu atzaru sapludināŔanas bāzes noteikÅ”anas rezultātu (apvienoÅ”anas bāze, saistÄ«Å”ana ar kopējo priekÅ”teci), izmantojot konstrukcijas ā€œgit branch new A...Bā€ un ā€œgit checkout -b new A...Bā€, kurā ā€œA...Bā€ ietver sapludināŔanas bāzes definÄ“Å”anu starp divām norādÄ«tajām saistÄ«bām, lÄ«dzÄ«gi kā ā€œgit checkout A...Bā€ pārvieto HEAD uz pamata saistÄ«bu un ā€œdiff A. ..B" parāda izmaiņas starp apņemÅ”anos "B" un to paÅ”u, ko commit "A" "Sencis.

    Piemēram, strādājot ar atseviŔķu mana lÄ«dzekļa atzaru, Å”o lÄ«dzekli var izmantot, ja vēlaties sākt no citas filiāles, piemēram, no tās paÅ”as vietas galvenajā zarā, no kuras tika izrakstÄ«ta mana lÄ«dzekļa filiāle. IepriekÅ” bija nepiecieÅ”ams manuāli pārbaudÄ«t izmaiņu žurnālu, kas bija neērti, ja jums bija liela izmaiņu vēsture, un pēc tam palaist ā€œgit merge-base master my-featureā€, lai aprēķinātu sapludināŔanas bāzes jaukÅ”anu starp galveno un my-feature zariem. un izveidojot jaunu atzaru attiecÄ«bā pret kopējo priekÅ”teci ā€œgit zara mana-cita-funkciju jaucējvārdsā€. Programmā Git 2.22 varat izmantot sintaksi "git filiāle mana-cita funkcija A...B", lai izveidotu atzaru attiecÄ«bā pret divu citu zaru sapludināŔanas bāzi;

  • Pievienota opcija "git branch --show-current", lai parādÄ«tu kases darbÄ«bas laikā iegÅ«to filiāles nosaukumu;
  • Pievienota opcija ā€œgit checkout ā€”no-overlay ā€” dirā€, kas ļauj, veicot izrakstÄ«Å”anās darbÄ«bu, dir direktorijas saturu konfigurēt formā, kas pilnÄ«bā atbilst galvenās filiāles stāvoklim. Piemēram, ja dir direktorija lokālajā kopijā ir fails, kas neatrodas galvenajā zarā, tad pēc noklusējuma, izpildot ā€œgit checkout master - dirā€, tas tiks atstāts, un, ja ā€œ--no-overlay ā€ opcija ir norādÄ«ta, tā tiks dzēsta;
  • Komanda "git diff" opciju parsÄ“Å”anai izmanto universālu API, kas ļauj apvienot opciju apstrādi ar citām git utilÄ«tprogrammām. Piemēram, ā€œgit diffā€ visām opcijām tagad ir savi antagonisti (ā€œ--function-contextā€ un ā€œ--no-function-contextā€);
  • Pievienota iespēja filtrēt paplaÅ”inātos tagus, kas pievienoti saistÄ«bām ā€œgit žurnālaā€ izvadē (ā€œpiekabeā€ ā€” papildu informācijas karodziņi, piemēram, Signed-off-by un Co-authored-by). Ir iespējams filtrēt etiÄ·etes gan pēc atslēgas, gan vērtÄ«bas, piemēram:
    "git log --pretty="%(trailers:key=Reviewed-by,valueonly)";

  • Ir pievienots jauns izsekoÅ”anas dzinējs Trace2, kas piedāvā elastÄ«gāku un strukturētāku izvades formātu. Trace2 ļauj apkopot telemetrijas datus par veiktajām operācijām un veiktspējas datus detalizētākai analÄ«zei un atkļūdoÅ”anai (apdarinātāju pieŔķir lietotājs, dati netiek nosÅ«tÄ«ti ārēji);
  • Pārskats ā€œgit bisectā€ ir padarÄ«ts lasāmāks, kurā tagad ir skaidrāk izceltas problemātiskās saistÄ«bas un tiek parādÄ«ta katra faila izmaiņu kopsavilkuma statistika (mainÄ«to rindu skaita lÄ«menÄ«);
  • Direktoriju pārdēvÄ“Å”anas noteikÅ”anas heiristika ir pārveidota, lai novērstu nepareizu pārdēvÄ“Å”anas etiÄ·eÅ”u instalÄ“Å”anu. Ja rodas Å”aubas, Ŕādi direktoriji tagad ir atzÄ«mēti kā konfliktējoÅ”i;
  • BrÄ«dinājums tiek parādÄ«ts, mēģinot ievietot tagu citam tagam, kas parasti tiek izdarÄ«ts kļūdas dēļ un var novest pie tā, ka tags tiek iestatÄ«ts nepareizai apstiprināŔanai (piemēram, tāda konstrukcija kā ā€œgit tag -f -m ā€œatjaunināts ziņojumsā€ my-tag1 my-tag2ā€³ rezultātā vecajam tagam tiks izveidots tags, turpretim izstrādātājs paredzēja, ka jaunais tags tiks instalēts saistÄ«bā, uz kuru norāda vecais tags);
  • Ir iespējota Ä£enerÄ“Å”ana bitkartes krātuvēm (uz diska balstÄ«ta "sasniedzamÄ«bas bitkartes" struktÅ«ra), kurās tiek glabāti dati par objektu kopām, kas ir pieejamas katrai apstiprināŔanai, un ļauj ātri noteikt bāzes objekta klātbÅ«tni. Å Ä« struktÅ«ra ievērojami samazina datu izguves operāciju izpildes laiku (git fetch).

Avots: opennet.ru

Pievieno komentāru