Toleo la udhibiti wa chanzo cha Git 2.38

Kutolewa kwa mfumo wa kudhibiti chanzo uliosambazwa Git 2.38 imetangazwa. Git ni mojawapo ya mifumo maarufu zaidi, inayotegemewa na yenye utendakazi wa hali ya juu ya udhibiti wa toleo, ikitoa zana rahisi za ukuzaji zisizo za mstari kulingana na matawi na kuunganisha. Ili kuhakikisha uadilifu wa historia na upinzani dhidi ya mabadiliko yanayorudiwa nyuma, hashing isiyofichika ya historia nzima ya awali inatumika katika kila ahadi; inawezekana pia kuthibitisha lebo za mtu binafsi na ahadi kwa saini za dijiti za wasanidi programu.

Ikilinganishwa na toleo la awali, toleo jipya lilijumuisha mabadiliko 699, yaliyotayarishwa na ushiriki wa watengenezaji 92, ambao 24 walishiriki katika maendeleo kwa mara ya kwanza. Ubunifu kuu:

  • Muundo kuu ni pamoja na matumizi ya "scalar", iliyoandaliwa na Microsoft kwa kusimamia hazina kubwa. Huduma hiyo hapo awali iliandikwa katika C #, lakini git inajumuisha toleo lililobadilishwa katika C. Huduma mpya inatofautiana na amri ya git kwa kuwezesha kwa chaguo-msingi vipengele vya ziada na mipangilio inayoathiri utendaji kazi wakati wa kufanya kazi na hazina kubwa sana. Kwa mfano, wakati wa kutumia scalar inatumika:
    • Uundaji wa sehemu ili kufanya kazi na nakala isiyo kamili ya hazina.
    • Utaratibu uliojengwa wa kufuatilia mabadiliko katika mfumo wa faili (FSMonitor), ambayo inakuwezesha kufanya bila kutafuta kupitia saraka nzima ya kazi.
    • Fahirisi zinazofunika vitu katika faili tofauti za pakiti (pakiti nyingi).
    • fanya-grafu na faharisi ya grafu inayotumika kuongeza ufikiaji wa kutoa habari.
    • Kazi ya msingi ya mara kwa mara ili kudumisha muundo bora wa hazina nyuma, bila kuzuia kikao cha maingiliano (kazi inafanywa mara moja kwa saa ili kupakua kwa uangalifu vitu vipya kutoka kwa hazina ya mbali na kusasisha faili na grafu ya ahadi, na mchakato wa kufunga. hazina huanza kila usiku).
    • modi ya "sparseCheckoutCone", ambayo hupunguza ruwaza zinazoruhusiwa wakati wa uundaji wa sehemu.
  • Imeongeza --update-refs chaguo kwa amri ya "git rebase" kusasisha matawi tegemezi ambayo yanaingiliana na matawi yanayohamishwa, badala ya kulazimika kuangalia kila tawi tegemezi ili kubadili ahadi inayohitajika.
  • Alifanya amri ya "git rm" iendane na faharisi za sehemu.
  • Imeboresha tabia ya amri ya "git mv AB" wakati wa kuhamisha faili kutoka kwa nafasi ya kazi iliyo na faharisi za sehemu katika hali ya "koni" hadi wigo wa nje ambao hauna modi hii.
  • Umbizo la faili la bitmap limeboreshwa kwa ajili ya kufanya kazi na hazina kubwa - jedwali la hiari la faharasa limeongezwa na orodha ya ahadi zilizochaguliwa na marekebisho yake.
  • Amri ya "git merge-tree" inatekeleza hali mpya ambayo, kwa kuzingatia ahadi mbili zilizoainishwa, mti wenye matokeo ya kuunganishwa huhesabiwa, kana kwamba historia za ahadi hizi zimeunganishwa.
  • Mpangilio wa "safe.barerepository" umeongezwa ili kudhibiti uwezo wa kupangisha hazina tupu (hazina ambazo hazina mti unaofanya kazi) ndani ya hazina zingine za git. Inapowekwa "wazi", itawezekana kufanya kazi na hazina zilizo wazi ziko kwenye saraka ya juu tu. Ili kuweza kuweka hazina wazi katika saraka ndogo, tumia thamani ya "zote".
  • Amri ya "git grep" imeongeza chaguo "-m" ("-max-count"), ambayo ni sawa na chaguo la jina moja katika GNU grep na hukuruhusu kupunguza idadi ya mechi zinazoonyeshwa.
  • Amri ya "ls-files" hutekelezea chaguo la "--format" ili kusanidi sehemu za kutoa (kwa mfano, unaweza kuwezesha utoaji wa jina la kitu, modi, n.k.).
  • Katika "git cat-file", wakati wa kuonyesha yaliyomo ya vitu, inawezekana kuzingatia vifungo vya barua pepe vya mwandishi vilivyotajwa kwenye faili ya barua pepe.

Chanzo: opennet.ru

Kuongeza maoni