Serbestberdana kontrola çavkaniya Git 2.35

Piştî du mehên pêşveçûnê, pergala kontrola çavkaniya belavkirî Git 2.35 hate berdan. Git yek ji wan pergalên kontrolkirina guhertoya herî populer, pêbawer û bi performansa bilind e, ku amûrên pêşkeftina ne-xetî yên maqûl li ser bingeha şaxkirin û hevgirtinê peyda dike. Ji bo misogerkirina yekrêziya dîrokê û berxwedana li hember guhertinên paşverû, di her commit de hejandina nepenî ya tevahiya dîroka berê tê bikar anîn, û di heman demê de gengaz e ku bi îmzeyên dîjîtal ên pêşdebiran re tag û peymanên kesane were pejirandin.

Li gorî serbestberdana berê, guhertoya nû 494 guhertin pêk tîne, ku bi beşdariya 93 pêşdebiran hatî amadekirin, ji wan 35 ji bo yekem car beşdarî pêşkeftinê bûn. Nûvekirinên sereke:

  • Derfetên ji bo karanîna bişkokên SSH ji bo îmzekirina dîjîtal tiştên Git hatine berfireh kirin. Ji bo bisînorkirina heyama derbasdar a çend keyan, piştgirî ji bo rêwerzên OpenSSH "ber-derbasdar" û "derbasdar-piştî" hatîye zêdekirin, bi wan re hûn dikarin xebata rast bi îmzeyan re piştrast bikin piştî ku mift ji hêla yek ji pêşdebiran ve hatî zivirandin. Beriya vê, di veqetandina îmzeyan de ji hêla mifteya kevn û nû ve pirsgirêkek hebû - heke hûn mifteya kevn jêbikin, dê nekarin îmzeyên ku bi wê hatine çêkirin verast bikin, û heke hûn jê bihêlin, wê hingê dê gengaz bimîne bi mifteya kevn, ku berê bi mifteyek din ve hatî guhertin, îmzeyên nû çêbikin. Bi karanîna derbasdar-berî û derbasdar-piştî hûn dikarin çarçoveya mifteyan li gorî dema ku îmze hatî çêkirin veqetînin.
  • Di mîhenga merge.conflictStyle de, ku destûrê dide te ku hûn moda nîşandana agahdariya li ser nakokiyan di dema yekbûnê de hilbijêrin, piştgirî ji moda "zdiff3" re xuya bû, ku hemî rêzikên standard ên ku di destpêk an dawiya pevçûnê de hatine destnîşan kirin li derveyî pevçûnê diguhezîne. deverek, ku destûrê dide pêşandanek tevlihevtir a agahdariyê.
  • Moda "--qonaxa" li fermana "git stash" hat zêdekirin, ku destûrê dide te ku hûn tenê guhertinên ku li pêvekê hatine zêdekirin veşêrin, mînakî di rewşek de ku hûn hewce ne ku ji bo pêşî li hin guhertinên tevlihev bi demkî bidin paş. tiştê ku jixwe amade ye lê zêde bike û piştî demekê bi yên mayî re mijûl bibe. Mode dişibihe emrê "git commit" e, tenê guheztinên ku di îndeksê de hatine danîn dinivîse, lê li şûna ku di "git stash —staged" de komîteyek nû were afirandin, encam li devera demkî ya stash tê hilanîn. Dema ku guhertin hewce ne, ew dikarin bi fermana "git stash pop" vegere.
  • Vebijêrkek nû ya formatê li fermana "git log" hat zêdekirin, "-format=%(describe)", ku dihêle hûn derketina "git log" bi derketina fermana "git describe" re hev bikin. Parametreyên "git describe" rasterast di hundurê diyarkerê de têne diyar kirin ("-format=%(describe:match= ,veqetandin= )"), ku tê de hûn dikarin etîketên kurtkirî jî têxin nav xwe ("—format=%(describe:tags= )") û hejmara tîpên hexadecimal mîheng bikin ku tiştan nas bikin ("—format=%(describe:abbrev= )"). Mînakî, ji bo navnîşkirina 8 peywirên paşîn ên ku etîketên wan etîketek berendamê berdanê tune ne, û destnîşankirina nasnameyên 8-karakterî, hûn dikarin fermanê bikar bînin: $ git log -8 —format='%(ravekirin:exclude=*-rc + gb13bd2.34.1 bbc646f4 v5-569-gffb89f2.34.1d v644-0330- gdf239c24adeb2.33.1 v641-15-g002812b858a2.34.1
  • Mîhenga user.signingKey naha cûreyên nû yên bişkokên ku bi tîpa "ssh-" ve sînorkirî ne piştgirî dike û riya pelê ya tevahî ya mifteyê diyar dike. Cûreyên alternatîf bi karanîna pêşgira "key::" têne destnîşan kirin, mînakî "key::ecdsa-sha2-nistp256" ji bo bişkojkên ECDSA.
  • Leza çêkirina navnîşek guhertinan di moda "-histogram" de, û hem jî dema ku vebijarka "-color-moved-ws" bikar tîne, ku ronîkirina cîhan di cûdahiyek reng de kontrol dike, bi rengek berbiçav zêde bûye.
  • Fermana "git jump", ku ji bo peydakirina Vim-ê agahdarî li ser ketina tam berbi pozîsyona xwestinê ya di pelê de dema parskirina nakokiyên hevgirtinê, dîtina ciyawaziyan, an pêkanîna xebatek lêgerînê tê bikar anîn, jêhatîbûna tengkirina nakokiyên hevgirtinê yên ku hatine girtin peyda dike. Mînakî, ji bo sînorkirina operasyonan tenê bi pelrêça "foo" re, hûn dikarin "git jump merge - foo" diyar bikin, û ji bo ku pelrêça "Belgekirin" ji pêvajoyê derxînin - "git jump merge - ':^Belgekirin'"
  • Ji bo standardîzekirina bikaranîna tîpa "size_t" li şûna "dirêj ne-nîşankirî" ji bo nirxên ku mezinahiya tiştan temsîl dikin, ku îmkana karanîna fîlterên "paqij" û "pişk" bi pelên ji 4 GB mezintir re kir. li ser hemî platforman, di nav de platformên bi modela daneya LLP64, celebê "dirêj bê îmze" ku tê de bi 4 byteyan ve sînorkirî ye.
  • Vebijarka "-empty=(raweste|davêje|keep)" li fermana "git am" hatiye zêdekirin, ku destûrê dide te ku hûn tevgerê ji bo peyamên vala yên ku xêzên wan nagirin dema parkirina paçikên ji qutiya posteyê hilbijêrin hilbijêrin. Nirxa "raweste" dê tevahiya operasyona paçkirinê biqedîne, "drop" dê pişkek vala derbas bike, û "keep" dê peywirek vala biafirîne.
  • Piştgiriya ji bo indexên qismî (indeksa sparse) li fermanên "git reset", "git diff", "git blame", "git fetch", "git pull" û "git ls-pel" zêde kir da ku performansê baştir bike û cîhê di nav de xilas bike. depoyên ku tê de operasyonên klonkirina qismî (sparse-checkout) têne kirin.
  • Fermana "git sparse-checkout init" hatiye betalkirin û divê li şûna "git sparse-checkout set" were guherandin.
  • Ji bo hilanîna referansên wekî şax û etîketan di depoyê de pêkanîna destpêkê ya paşînek nû ya "reftable" lê zêde kir. Piştgiriya nû hilanîna blokê ku ji hêla projeya JGit ve hatî bikar anîn bikar tîne û ji bo hilanîna hejmareke pir mezin a referansê xweşbîn e. Piştgir hîna bi pergala refê re ne yekgirtî ye û ji bo karanîna pratîkî ne amade ye.
  • Paleta rengîn a fermana "git grep" hate guheztin ku bi karûbarê GNU grep re têkildar be.

Source: opennet.ru

Add a comment