Ho lokolloa ha sistimi e ajoang ea taolo ea mohloli Git 2.22

Tsebisoa ho lokolloa ha mokhoa oa ho laola mohloli o ajoang git 2.22.0. Git ke e 'ngoe ea litsamaiso tse tsebahalang haholo, tse tšepahalang le tse sebetsang hantle haholo, tse fanang ka lisebelisoa tse feto-fetohang tsa nts'etsopele tse se nang moeli tse ipapisitseng le makala le ho kopanya. Ho netefatsa bonnete ba nalane le ho hanana le liphetoho tsa morao-rao, ho sebelisoa hashing e felletseng ea nalane eohle e fetileng boitlamo bo bong le bo bong, hape hoa khoneha ho netefatsa li-tag le boitlamo ka li-signature tsa dijithale tsa bahlahisi.

Ha ho bapisoa le tokollo e fetileng, phetolelo e ncha e kenyelelitse liphetoho tse 745, tse lokiselitsoeng ka ho kenya letsoho ha baetsi ba 74, bao 18 ba ileng ba kenya letsoho ntlafatsong ka lekhetlo la pele. ka sehloohong boiqapelo:

  • E fumaneha ho tloha ka 1.18, "git rebase --rebase-merges" e ncha e nkela sebaka sa khale sa "-preserve-merge", e seng e sa sebetse. Ts'ebetso ea "git rebase" e sebelisoa ho nkela letoto la li-commissions ka boitlamo bo bocha, mohlala, ho tsamaisa lekala le fapaneng le ntseng le nts'etsapele karolo e ncha ho boemo ba hajoale ba lekala le leholo, le kenyelletsang litokiso tse kentsoeng kamora lekala. :

    o - o - o (sebopeho sa ka)

    /

    o - o - o - o - o (master)

    o - o - o (sebopeho sa ka)

    /

    o - o - o - o - o (master)

    Ho boloka sebopeho sa lekala lekaleng le falletseng, khetho ea "--preserve-merge" e ne e ka sebelisoa pele, eo, ha e sebelisoa ka mokhoa o kopanetsoeng (git rebase -i --preserve-merges), e lumelletse ho hlophisa nalane ea boitlamo, empa ha ea ka ea tiisa paballo e feletseng ea mohaho oa polokelo. Mokhoa o mocha oa "-rebase-merges" o u lumella ho boloka sebopeho sa liphetoho lekaleng le faliloeng, ha u ntse u fana ka mefuta e mengata ea ts'ebetso e kopanetsoeng, ho kenyelletsa ho hlakola, ho hlophisa bocha le ho reha mabitso bocha.

    Ka mohlala, "--rebase-merges" e lumella kenya botjha boitlamo ho tloha lekaleng le arohaneng ho ya lekaleng le letjha la master, ha o ntse o hlokomela sebopeho sa lekala lekaleng le falletseng, le ho etsa diphetoho tse ding ho dintlha tsa boitlamo ka fofa.

  • Tšehetso e ekelitsoeng bakeng sa ho theha lekala le lecha ho latela sephetho sa ho khetholla motheo oa ho kopanya makala a mang a mabeli (ho kopanya setsi, ho tlama moholo-holo) ho sebelisoa meaho "git branch new A...B" le "git checkout -b new A...B”, moo “A ...B” e kenyelletsang ho hlalosa motheo o kopantseng lipakeng tsa lintho tse peli tse boletsoeng, tse tšoanang le kamoo "git checkout A...B" e fetolang HEAD ho boitlamo ba mantlha le "diff A. ..B" e bonts'a liphetoho lipakeng tsa "B" le tse tšoanang le "A" "Ancestor".

    Ka mohlala, ha u sebetsa lekaleng le ka thōko-likarolo tsa ka, tšobotsi ena e ka sebelisoa ha u batla ho qala ho tloha lekaleng le fapaneng, ka mohlala, ho tloha sebakeng se le seng lekaleng le leholo leo ho lona ho neng ho hlahlojoa lekala la ka. Nakong e fetileng, sena se ne se hloka ho hlahloba ka letsoho tlaleho ea phetoho, e neng e le tšitiso haeba u ne u e-na le histori e kholo ea liphetoho, ebe u matha "git merge-base master my-feature" ho bala hashe ea setsi sa ho kopanya pakeng tsa master le makala a ka. le ho theha lekala le lecha le amanang le moholo-holo ea tloaelehileng " git branch my-other-feature hash." Ho Git 2.22, o ka sebelisa syntax "git branch my-other-feature A...B" ho theha lekala le amanang le motheo oa ho kopanya makala a mang a mabeli;

  • E kenyellelitse khetho ea "git branch --show-current" ho bonts'a lebitso la lekala le fumanoeng nakong ea ts'ebetso ea ho tsoa;
  • E kentse khetho ea "git checkout - no-overlay - dir", e lumellang, ha u etsa ts'ebetso ea ho lefa, ho tlisa likahare tsa dir directory ho foromo e lumellanang ka botlalo le boemo ba lekala le leholo. Mohlala, haeba ho na le faele kopi ea sebaka sa dir directory e seng lekaleng le hloahloa, joale ka boiketsetso ha o etsa "git checkout master - dir" e tla siuoa, 'me haeba "--no-overlay". ” kgetho e hlalositsoe, e tla hlakoloa;
  • Taelo ea "git diff" e sebelisa API ea bokahohle bakeng sa likhetho tsa ho arola, e leng se nolofalletsang ho kopanya khetho ea ho sebetsana le lisebelisoa tse ling tsa git. Mohlala, ho “git diff”, likhetho tsohle joale li na le bahanyetsi ba tsona (“-function-context” le “--no-function-context”);
  • E kentse bokhoni ba ho sefa li-tag tse atolositsoeng tse khomaretsoeng ho "git log" tlhahiso ("tereila" - lifolakha tsa tlhahisoleseling tse ling, joalo ka Signed-off-by le Co-authored-by). Hoa khoneha ho sefa lileibole ka linotlolo le boleng, mohlala:
    "git log --pretty="%(trailer:key=E hlahlobiloe-ka, ea bohlokoa feela)";

  • Enjene e ncha ea ho latela, Trace2, e kentsoe, e fanang ka sebopeho se feto-fetohang le se hlophisitsoeng haholoanyane. Trace2 e u lumella ho bokella telemetry mabapi le ts'ebetso e entsoeng le lintlha tsa ts'ebetso bakeng sa tlhahlobo e qaqileng le ho lokisa liphoso (mosebelisi o abetsoe ke mosebelisi, ha ho data e romelloang kantle);
  • Tlaleho ea "git bisect" e entsoe hore e balehe haholoanyane, moo ho totobatsoa ho nang le bothata hona joale ho totobatsoang ka ho hlaka le lipalo-palo tse akaretsang tsa liphetoho tsa faele ka 'ngoe (boemong ba palo ea mela e fetotsoeng);
  • Lithuto tsa ho fumana mabitso a li-directory li hlophisitsoe bocha ho felisa ho kenya lileibole tse seng tsa nnete. Ha ho e-na le pelaelo, litsamaiso tse joalo li se li tšoauoa e le tse hanyetsanang;
  • Temoso e hlahisoa ha u leka ho kenya tag ho e 'ngoe, e atisang ho etsoa ka phoso' me e ka lebisa ho beha letšoao ka boitlamo bo fosahetseng (mohlala, mohaho o kang "git tag -f -m "updated message" my-tag1 my-tag2″ e tla etsa hore tag e thehoe ho tag ea khale, athe mohlahlami o ne a lebelletse hore tag e ncha e kenngoe boitlamo bo bontšitsoeng ke tag ea khale);
  • Generation e nolofalitsoe bakeng sa li-repositories tsa bitmap (disk-based "reachability bitmaps") sebopeho), e bolokang data e mabapi le lihlopha tsa lintho tse fumanehang bakeng sa boitlamo bo bong le bo bong le ho u lumella ho fumana kapele boteng ba ntho ea motheo. Sebopeho sena se fokotsa haholo nako ea ts'ebetso ea ts'ebetso ea ho khutlisa data (git fetch).

Source: opennet.ru

Eketsa ka tlhaloso