Kutolewa kwa mfumo wa udhibiti wa chanzo uliosambazwa Git 2.23

Iliyowasilishwa na kutolewa kwa mfumo wa udhibiti wa chanzo uliosambazwa Git 2.23.0. 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 isiyo wazi ya historia nzima ya awali katika kila ahadi inatumika, na inawezekana pia kuthibitisha lebo za kibinafsi na ahadi kwa saini za dijiti za wasanidi programu.

Ikilinganishwa na toleo la awali, toleo jipya lilijumuisha mabadiliko 505, yaliyotayarishwa na ushiriki wa watengenezaji 77, ambao 26 walishiriki katika maendeleo kwa mara ya kwanza. Msingi ubunifu:

  • Amri za majaribio za "git switch" na "git kurejesha" huletwa ili kutenganisha uwezo wa "git checkout" uliounganishwa kwa urahisi, kama vile udanganyifu wa tawi (kubadilisha na kuunda) na kurejesha faili kwenye saraka ya kufanya kazi ("git checkout $commit - $filename"). au mara moja katika eneo la jukwaa (β€œ-staging”, haina analogi katika β€œgit checkout”). Inastahili kuzingatia kwamba, tofauti na "git checkout", "git kurejesha" huondoa faili ambazo hazijafuatiliwa kutoka kwa saraka zinazorejeshwa ("--no-overlay" kwa chaguo-msingi).
  • Imeongeza chaguo "git merge -quit", ambayo, sawa na "-abort", inasimamisha mchakato wa kuunganisha matawi, lakini inaacha saraka ya kazi bila kuguswa. Chaguo hili linaweza kuwa la manufaa ikiwa baadhi ya mabadiliko yaliyofanywa wakati wa kuunganisha kwa mikono yangefaa kutolewa kama ahadi tofauti.
  • Amri za "git clone", "git fetch" na "git push" sasa zinazingatia uwepo wa ahadi kwenye hazina zilizounganishwa (mbadala);
  • Imeongezwa chaguzi za "git blame -ignore-rev" na "-ignore-revs-file" hukuruhusu kuruka ahadi zinazofanya mabadiliko madogo (kwa mfano, marekebisho ya umbizo);
  • Imeongeza chaguo la "git cherry-pick -ruka" ili kuruka ahadi inayokinzana (analogi iliyokaririwa ya mfuatano wa "git reset && git cherry-pick -continue");
  • Imeongeza mpangilio wa status.aheadBehind, ambao hurekebisha kabisa chaguo la "git status -- [no-] ahead-nyuma";
  • Kufikia toleo hili, "git log" kwa chaguomsingi inazingatia mabadiliko yaliyofanywa na mailmap, sawa na jinsi git shortlog inavyofanya;
  • Uendeshaji wa kusasisha akiba ya majaribio ya grafu ya ahadi (core.commitGraph) iliyoletwa katika 2.18 imeharakishwa kwa kiasi kikubwa. Pia ilifanya git for-each-ref haraka zaidi wakati wa kutumia violezo vingi na kupunguza idadi ya simu kuwa auto-gc katika "git fetch -multiple";
  • "git branch --list" sasa inaonyesha HEAD iliyofungiwa mwanzoni kabisa mwa orodha, bila kujali eneo.

Chanzo: opennet.ru

Kuongeza maoni