Te tukunga o te punaha whakahaere puna tohatoha Git 2.22

Tukuna e te tukunga o te punaha whakahaere puna tohatoha Git 2.22.0. Ko Git tetahi o nga punaha whakahaere putanga tino rongonui, pono me te tino mahi, e whakarato ana i nga taputapu whanaketanga kore-raina ngawari i runga i te peka me te hanumi. Hei whakapumau i te pono o te hitori me te aukati ki nga huringa whakamuri, ka whakamahia te hashing o te hitori katoa o mua i ia tuunga, ka taea hoki te whakamana i nga tohu takitahi me te mahi me nga hainatanga mamati a nga kaihanga.

I whakaritea ki te tukunga o mua, ko te putanga hou e 745 nga huringa, kua rite ki te whakauru o nga kaiwhakawhanake 74, 18 i uru ki te whanaketanga mo te wa tuatahi. Main nga mahi auaha:

  • Kei te waatea mai i te tukunga 1.18, ko te aratau commit rebase hou "git rebase --rebase-merges" ka whakakapi i te waahanga "--preserve-merges" tawhito, kua whakakorea inaianei. Ka whakamahia te mahi "git rebase" ki te whakakapi i te raupapa o nga mahi ki tetahi turanga turanga hou, hei tauira, ki te neke i tetahi peka motuhake e whakawhanake ana i etahi ahuatanga hou ki te ahuatanga o naianei o te peka matua, kei roto ko nga whakatikatika kua taapirihia i muri i te peka. :

    o - o - o (taku-āhuatanga)

    /

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

    o - o - o (taku-āhuatanga)

    /

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

    Hei pupuri i te hanganga peka i roto i te peka kua heke, ka taea te whakamahi i mua i te "--preserve-merges", i te wa e whakahaerehia ana i roto i te aratau tauwhitiwhiti (git rebase -i --preserve-merges), ka taea te whakatika i te hitori tuku, engari karekau i whakapumau i te tiakitanga o te hanganga putunga. Ko te aratau hou "--rebase-merges" ka taea e koe te pupuri i te hanganga o nga huringa o te peka e heke ana, me te whakarato i te whānuitanga o nga mahi tauwhitiwhiti, tae atu ki te whakakore, te whakarōpūtanga me te whakaingoatanga o nga mahi.

    Hei tauira, "--rebase-merges" āhei te reira Tukuake ano ka tuku mai i te peka motuhake ki te peka matua hou ake, me te pupuri tonu i te hanganga peka i roto i te peka kua heke, me te whakarereke i nga tuhipoka tuku i runga i te rere.

  • He tautoko taapiri mo te hanga peka hou i runga i te hua o te whakatau i te turanga hanumi o etahi atu manga e rua (hanumi turanga, herea ki te tupuna kotahi) ma te whakamahi i nga hanga "git branch new A...B" me "git checkout -b new A...B", kei roto i a "A ...B" te tautuhi i te turanga hanumi i waenga i nga mahi e rua kua tohua, he rite ki te "git checkout A...B" ki te neke i te HEAD ki te turanga commit me te "rereke A. ..B" e whakaatu ana i nga huringa i waenga i te commit "B" me te rite ki te commit "A" "Ancestor.

    Hei tauira, i te wa e mahi ana koe i tetahi peka o taku-ahuaahua motuhake, ka taea te whakamahi i tenei waahanga ina hiahia koe ki te timata mai i tetahi peka rereke, hei tauira, mai i te waahi kotahi i te peka matua i tirohia ai te peka taku-ahuatanga. I mua, me tirotiro-a-ringa i te raarangi huringa, he mea whakaraerae mena he nui to hitori o nga huringa, katahi ka whakahaere i te "git merge-base master my-feature" ki te tatau i te hash o te turanga hanumi i waenga i te rangatira me nga peka-a-aku. me te hanga i tetahi peka hou e pa ana ki te tupuna noa " git branch my-other-feature hash." I roto i te Git 2.22, ka taea e koe te whakamahi i te wetereo "git branch my-other-feature A...B" ki te hanga i tetahi peka e pa ana ki te turanga hanumi o etahi atu manga e rua;

  • Kua taapirihia te whiringa "git branch --show-current" hei whakaatu i te ingoa o te peka i whiwhi i te wa o te mahi tirotiro;
  • I taapirihia te whiringa "git checkout —no-overlay - dir", e taea ai, i te wa e mahi ana i te mahi tirotiro, ki te kawe i nga ihirangi o te whaiaronga dir ki tetahi puka e rite ana ki te ahua o te peka matua. Hei tauira, mena he konae kei roto i te kape rohe o te raarangi whaiaronga kaore i roto i te peka matua, na te taunoa ka mahia "git checkout master - dir" ka waiho, a mena ko te "--no-overlay ” kua tohua te whiringa, ka mukua;
  • Ko te whakahau "git diff" e whakamahi ana i te API whanui mo nga whiringa porotiti, e taea ai te whakakotahi i te whakahaerenga whiringa me etahi atu taputapu git. Hei tauira, i roto i te "git diff", ko nga whiringa katoa i naianei kei a raatau kaitoi ("--function-context" me "--no-function-context");
  • Kua taapirihia te kaha ki te tarai i nga tohu taapiri e piri ana ki nga mahi i roto i te putanga "git log" ("trailer" - nga haki korero taapiri, penei i te Waitohu-atu-e me te Kaituhi-tahi). Ka taea te tātari tapanga ma te matua me te uara, hei tauira:
    "git log --pretty="%(trailers:key=I Arotake-e,valueonly)";

  • He miihini whaiwhai hou, a Trace2, kua taapirihia, e tuku ana i te whakatakotoranga putanga ngawari ake. Ma te Trace2 ka taea e koe te kohi waea waea mo nga mahi kua mahia me nga raraunga mahi mo te whakamaarama taipitopito me te patuiro (ko te kaihautu kua tohua e te kaiwhakamahi, kaore he raraunga ka tukuna ki waho);
  • Ko te purongo "git bisect" kua pai ake te panui, i te mea kua tino marama ake nga mahi raruraru me te whakaatu i nga tatauranga whakarāpopototanga mo nga huringa mo ia kōnae (i te taumata o te maha o nga raina kua whakarereketia);
  • Ko nga heuristics mo te whakatau i nga whakaingoatanga whaiaronga kua mahia ano hei whakakore i te whakaurunga teka o nga tapanga whakaingoa. I te wa e ruarua ana, ka tohuhia he taupatupatu enei raarangi;
  • Ka whakaatuhia he whakatupato ina ka ngana koe ki te whakauru i tetahi tohu ki tetahi atu tohu, he pohehe te nuinga o te waa ka taea te whakatakoto i te tohu ki runga i te mahi he (hei tauira, he hanga penei "git tag -f -m "karere whakahou" my-tag1 my- tag2″ ka puta he tohu ki runga i te tohu tawhito, engari i tumanako te kaiwhakawhanake kia whakauruhia te tohu hou ki runga i te tohu i tohuhia e te tohu tawhito);
  • Whakahohehia te Whakatupuranga mo nga putunga maheremoka (hanganga "mahere moka" e ahu mai ana i te kōpae), e penapena raraunga ana mo nga huinga ahanoa e waatea ana mo ia mahi ka taea e koe te whakatau tere i te waahi o tetahi ahanoa. Ko tenei hanganga ka tino whakaiti i te wa mahi o nga mahi tango raraunga (git fetch).

Source: opennet.ru

Tāpiri i te kōrero