Sakin tsarin sarrafa tushen rarraba Git 2.22

Ƙaddamar da saki tsarin sarrafa tushen rarraba Git 2.22.0. Git yana ɗaya daga cikin mafi mashahuri, abin dogaro da tsarin sarrafa nau'ikan ayyuka masu inganci, yana ba da sassauƙan kayan aikin haɓaka marasa daidaituwa dangane da reshe da haɗuwa. Don tabbatar da amincin tarihi da juriya ga sauye-sauye na dawowa, ana amfani da hashing na tarihin da ya gabata a cikin kowane alƙawari, kuma yana yiwuwa a tabbatar da alamun kowane mutum da aikatawa tare da sa hannun dijital na masu haɓakawa.

Idan aka kwatanta da wanda ya gabata, sabon sigar ya haɗa da canje-canje 745, wanda aka shirya tare da sa hannun masu haɓaka 74, waɗanda 18 suka shiga cikin haɓakawa a karon farko. Main sababbin abubuwa:

  • Akwai tun lokacin da aka saki 1.18, sabon yanayin ƙaddamarwa "git rebase --rebase-merges" ya maye gurbin tsohon zaɓi na "-preserve-merge", wanda yanzu ya ƙare. Ana amfani da aikin "git rebase" don maye gurbin jerin ayyuka tare da sabon ƙaddamarwa, misali, don matsar da wani reshe na daban wanda ke haɓaka wani sabon fasali zuwa halin yanzu na reshen babban, wanda ya haɗa da gyara da aka kara bayan reshe. :

    o - o - o (fasali na)

    /

    o - o - o - o - o (maigida)

    o - o - o (fasali na)

    /

    o - o - o - o - o (maigida)

    Don adana tsarin reshe a cikin reshen da aka yi ƙaura, za a iya amfani da zaɓin “--preserve-merges” a baya, wanda, lokacin da ake gudanar da shi cikin yanayin mu’amala (git rebase -i --preserve-merge), yana ba da damar gyara tarihin ƙaddamarwa, amma bai bada garantin cikakken adana tsarin ma'ajiyar ba. Sabuwar yanayin "--rebase-merges" yana ba ku damar adana tsarin canje-canje a cikin reshen da ake ƙaura, yayin da ke ba da cikakken kewayon ayyuka na mu'amala, gami da sharewa, tattarawa da sake suna.

    Misali, "--rebase-merges" Yana da damar sake shigar da shi daga wani reshe na daban zuwa sabon reshe mai girma, yayin da yake kiyaye tsarin reshe a cikin reshen da aka yi hijira, da yin wasu canje-canje a cikin rubutattun bayanai akan tashi.

  • Ƙara goyon baya don ƙirƙirar sabon reshe dangane da sakamakon ƙayyadadden tushen haɗin kai na wasu rassa guda biyu (ginshiƙan haɗin kai, ɗaure ga kakanni ɗaya) ta amfani da gine-ginen "git reshe sabon A ... B" da "git checkout -b new A...B”, wanda a cikinsa “A ...B” ya ƙunshi ayyana tushen haɗin gwiwa tsakanin wasu ƙayyadaddun ayyuka guda biyu, kamar yadda “git checkout A...B” ke canza HEAD zuwa tushe da kuma “diff A. B

    Misali, lokacin da ake aiki da reshe na daban, ana iya amfani da wannan fasalin lokacin da kuke son farawa daga reshe daban, misali, daga wuri ɗaya a cikin babban reshe wanda aka bincika reshen fasalina. A baya can, wannan yana buƙatar yin nazarin log ɗin canji da hannu, wanda ba shi da daɗi idan kuna da babban tarihin canje-canje, sannan kuna gudanar da “git merge-base master my-feature” don ƙididdige hash na tushen haɗin gwiwa tsakanin maigidan da rassan fasali na. da ƙirƙirar sabon reshe dangi ga kakannin kowa "git branch my-other-feature hash." A cikin Git 2.22, zaku iya amfani da ma'anar "git reshe my-other-feature A...B" don ƙirƙirar reshe dangane da haɗin ginin wasu rassa biyu;

  • Ƙara wani zaɓi na "git reshen --show-current" don nuna sunan reshen da aka samu yayin aikin biya;
  • An ƙara zaɓin “git checkout —no-overlay — dir”, wanda ke ba da damar, lokacin gudanar da aikin dubawa, don kawo abubuwan da ke cikin kundin adireshi zuwa fom ɗin da ya yi daidai da yanayin reshen babban gida. Misali, idan akwai fayil a cikin kwafin gida na dir directory wanda baya cikin babban reshe, to ta tsohuwa lokacin aiwatar da “git checkout master - dir” za a bar shi, kuma idan “--no-overlay” ” an ayyana zaɓi, za a goge shi;
  • Umurnin "git diff" yana amfani da API na duniya don tantance zaɓuɓɓukan, wanda ke ba da damar haɗa zaɓin sarrafa zaɓi tare da sauran kayan aikin git. Alal misali, a cikin "git diff", duk zaɓuɓɓuka yanzu suna da masu adawa da su ("--function-context" da "--no-function-context");
  • An ƙara ikon tace ƙarin tags ɗin da aka haɗe don aikatawa a cikin fitowar "git log" ("trailer" - ƙarin tutocin bayanai, kamar Sa hannu-kashe da Co-authored-by). Yana yiwuwa a tace takalmi ta maɓalli da ƙima, misali:
    "git log --pretty="%(trailers:key=Reviewed-by,valueonly)";

  • An ƙara sabon injin bincike, Trace2, yana ba da mafi sassauƙa da tsarin fitarwa. Trace2 yana ba ku damar tattara telemetry game da ayyukan da aka aiwatar da bayanan aiki don ƙarin cikakkun bayanai da bincike (mai amfani ne ke sanya mai kulawa, ba a aika bayanai a waje);
  • Rahoton "git bisect" ya kasance mai sauƙin karantawa, wanda a cikin abin da aka yi matsala a yanzu an fi nunawa a fili kuma an nuna ƙididdiga na taƙaitaccen canje-canje ga kowane fayil (a matakin adadin layin da aka canza);
  • An sake yin aiki da ilimin lissafi don tantance sunayen kundin adireshi don kawar da shigar karya na alamun sake suna. Lokacin da ake shakka, irin waɗannan kundayen adireshi yanzu ana yiwa alama a matsayin masu cin karo da juna;
  • Ana nuna faɗakarwa lokacin da kake ƙoƙarin shigar da alama akan wata alamar, wanda yawanci ana yin ta bisa kuskure kuma yana iya haifar da saita alamar akan kuskuren kuskure (misali, gini kamar "git tag -f -m"saƙon da aka sabunta" my-tag1 my- tag2″ zai haifar da ƙirƙirar alama akan tsohuwar tag, yayin da mai haɓakawa yana tsammanin za a shigar da sabon tag akan alƙawarin da tsohon tag ya nuna);
  • An kunna tsarawa don ma'ajin bitmap (tsarin "tsarin "bitmaps" na tushen diski), wanda ke adana bayanai game da jerin abubuwan da ke akwai don kowane alƙawarin kuma yana ba ku damar tantance kasancewar abun tushe cikin sauri. Wannan tsarin yana rage lokacin aiwatar da ayyukan dawo da bayanai (git fetch).

source: budenet.ru

Add a comment