බෙදා හරින ලද මූලාශ්‍ර පාලන පද්ධතිය මුදා හැරීම Git 2.26

ඇත බෙදා හරින ලද මූලාශ්ර පාලන පද්ධතියක් නිකුත් කිරීම Git 2.26.0. Git යනු අතු බෙදීම සහ ඒකාබද්ධ කිරීම මත පදනම්ව නම්‍යශීලී රේඛීය නොවන සංවර්ධන මෙවලම් සපයන වඩාත් ජනප්‍රිය, විශ්වාසනීය සහ ඉහළ කාර්ය සාධන අනුවාද පාලන පද්ධති වලින් එකකි. ඉතිහාසයේ අඛණ්ඩතාව සහ ප්‍රතික්‍රියාශීලී වෙනස්කම්වලට ප්‍රතිරෝධය සහතික කිරීම සඳහා, එක් එක් කැපවීම තුළ සමස්ත පෙර ඉතිහාසයම ව්‍යංගයෙන් හෑෂ් කිරීම භාවිතා කරයි; සංවර්ධකයින්ගේ ඩිජිටල් අත්සන් සමඟ තනි ටැග් සහ කැපවීම් සහතික කිරීමට ද හැකිය.

පෙර නිකුතුව හා සසඳන විට, නව අනුවාදයේ වෙනස්කම් 504 ක් ඇතුළත් වූ අතර, සංවර්ධකයින් 64 දෙනෙකුගේ සහභාගීත්වයෙන් සකස් කරන ලද අතර ඉන් 12 ක් පළමු වරට සංවර්ධනයට සහභාගී වූහ. ප්රධාන නවෝත්පාදන:

  • පෙරනිමිය වෙත මාරු කර ඇත දෙවන අනුවාදය Git සන්නිවේදන ප්‍රොටෝකෝලය, සේවාලාභියෙකු දුරස්ථව Git සේවාදායකයකට සම්බන්ධ වන විට භාවිතා වේ. ප්‍රොටෝකෝලයේ දෙවන අනුවාදය සේවාදායක පැත්තේ ශාඛා සහ ටැග් පෙරීමේ හැකියාව ලබා දීම සඳහා කැපී පෙනෙන අතර, සේවාලාභියා වෙත කෙටි සබැඳි ලැයිස්තුවක් ලබා දෙයි. මින් පෙර, සේවාලාභියා එක් ශාඛාවක් පමණක් යාවත්කාලීන කරන විට හෝ ගබඩාවේ ඔවුන්ගේ පිටපත යාවත්කාලීන දැයි පරීක්ෂා කරන විට පවා, ඕනෑම ඇදීමේ විධානයක් සෑම විටම සේවාදායකයාට මුළු ගබඩාවේම සම්පූර්ණ යොමු ලැයිස්තුව යවනු ඇත. තවත් කැපී පෙනෙන නවෝත්පාදනයක් වන්නේ මෙවලම් කට්ටලය තුළ නව ක්රියාකාරිත්වය ලබා ගත හැකි වන පරිදි ප්රොටෝකෝලය වෙත නව හැකියාවන් එකතු කිරීමේ හැකියාවයි. සේවාදායක කේතය පැරණි ප්‍රොටෝකෝලය සමඟ අනුකූලව පවතින අතර නව සහ පැරණි සේවාදායකයන් සමඟ දිගටම ක්‍රියා කළ හැකිය, සේවාදායකය දෙවැන්නට සහය නොදක්වන්නේ නම් ස්වයංක්‍රීයව පළමු අනුවාදයට වැටේ.
  • "-show-scope" විකල්පය "git config" විධානයට එකතු කර ඇත, සමහර සැකසුම් අර්ථ දක්වා ඇති ස්ථානය හඳුනා ගැනීම පහසු කරයි. Git ඔබට විවිධ ස්ථානවල සිටුවම් නිර්වචනය කිරීමට ඉඩ දෙයි: ගබඩාවේ (.git/info/config), පරිශීලක නාමාවලියෙහි (~/.gitconfig), පද්ධතිය පුරා වින්‍යාස ගොනුවේ (/etc/gitconfig) සහ විධානය හරහා. රේඛා විකල්ප සහ පරිසර විචල්‍යයන්. “git config” ක්‍රියාත්මක කිරීමේදී අවශ්‍ය සැකසුම හරියටම අර්ථ දක්වා ඇත්තේ කොතැනද යන්න තේරුම් ගැනීම තරමක් අපහසුය. මෙම ගැටළුව විසඳීම සඳහා, "--show-origin" විකල්පය ලබා ගත හැකි විය, නමුත් එය සැකසුම නිර්වචනය කර ඇති ගොනුවට යන මාර්ගය පමණක් පෙන්වයි, ඔබ ගොනුව සංස්කරණය කිරීමට අදහස් කරන්නේ නම් එය ප්‍රයෝජනවත් වේ, නමුත් ඔබ උදව් කරන්නේ නැත. "--system", "--global" හෝ "-local" විකල්ප භාවිතා කරමින් "git config" හරහා අගය වෙනස් කළ යුතුය. නව විකල්පය "--show-scope" විචල්‍ය නිර්වචන සන්දර්භය පෙන්වයි සහ -show-origin සමඟ සම්බන්ධව භාවිතා කළ හැක:

    $ git --list --show-scope --show-origin
    ගෝලීය ගොනුව:/home/user/.gitconfig diff.interhunkcontext=1
    ගෝලීය ගොනුව:/home/user/.gitconfig push.default=current
    […] දේශීය ගොනුව:.git/config branch.master.remote=සම්භවය
    දේශීය ගොනුව:.git/config branch.master.merge=refs/heads/master

    $ git config --show-scope --get-regexp 'diff.*'
    ගෝලීය වෙනස.statgraphwidth 35
    දේශීය වෙනස.වර්ණයෙන් යුත් තැනිතලාව

    $ git config --global --unset diff.statgraphwidth

  • බන්ධන සැකසුම් තුළ අක්තපත්ර URL වල වෙස් මුහුණු භාවිතයට අවසර ඇත. Git හි ඕනෑම HTTP සැකසීම් සහ අක්තපත්‍ර සියලු සම්බන්ධතා සඳහා (http.extraHeader, credential.helper) සහ URL-පාදක සම්බන්ධතා සඳහා (credential.https://example.com.helper, credential.https: //example) යන දෙකම සැකසිය හැක. com.helper). මේ වන තුරු, *.example.com වැනි Wildcards HTTP සිටුවම් සඳහා පමණක් අවසර දී ඇත, නමුත් අක්තපත්‍ර බැඳීම සඳහා සහාය නොදක්වන ලදී. Git 2.26 හි, මෙම වෙනස්කම් ඉවත් කර ඇති අතර, උදාහරණයක් ලෙස, සියලුම උප ඩොමේන් වෙත පරිශීලක නාමයක් බැඳීමට ඔබට දැන් නියම කළ හැක:

    [ අක්තපත්‍ර "https://*.example.com"]

    පරිශීලක නාමය = ttaylorr

  • අර්ධ ක්ලෝන (අර්ධ ක්ලෝන) සඳහා පර්යේෂණාත්මක සහාය පුළුල් කිරීම අඛණ්ඩව සිදු වන අතර, ඔබට දත්ත කොටසක් පමණක් මාරු කිරීමට සහ ගබඩාවේ අසම්පූර්ණ පිටපතක් සමඟ වැඩ කිරීමට ඉඩ සලසයි. නව නිකුතුව මඟින් "git sparse-checkout add" නව විධානයක් එක් කරයි, එමඟින් "git" විධානය හරහා එවැනි නාමාවලි සියල්ලම එකවර ලැයිස්තුගත කිරීම වෙනුවට, වැඩ කරන ගසේ කොටසකට පමණක් "Checkout" මෙහෙයුම යෙදීම සඳහා තනි නාමාවලි එකතු කිරීමට ඔබට ඉඩ සලසයි. sparse-checkout set" (ඔබට එක් එක් නාමාවලිය එක් එක් වරක් සම්පූර්ණ ලැයිස්තුව නැවත සඳහන් නොකර එකින් එක එකතු කළ හැක).
    උදාහරණයක් ලෙස, blobs නොකර git/git ගබඩාවක් ක්ලෝන කිරීමට, වැඩ කරන පිටපතේ මූල නාමාවලියට පමණක් පිටවීම සීමා කිරීමට සහ "t" සහ "Documentation" නාමාවලි සඳහා පිටවීම වෙන වෙනම සලකුණු කිරීමට, ඔබට සඳහන් කළ හැක:

    $ git clone --filter=blob:none --sparse [විද්‍යුත් ආරක්‍ෂිත]:git/git.git

    $ cd git
    $ git sparse-checkout init --cone

    $ git sparse-checkout add t
    ....
    $ git sparse-checkout add Documentation
    ....
    $ git විරල පිරික්සුම් ලැයිස්තුව
    ලේඛගතකිරීම
    t

  • ගබඩාවේ වත්මන් අන්තර්ගතය සහ ඓතිහාසික සංශෝධන යන දෙකම සෙවීමට භාවිතා කරන "git grep" විධානයේ කාර්ය සාධනය සැලකිය යුතු ලෙස වැඩිදියුණු කර ඇත. සෙවීම වේගවත් කිරීම සඳහා, බහු නූල් ("git grep -threads") භාවිතයෙන් වැඩ කරන ගසේ අන්තර්ගතය පරිලෝකනය කිරීමට හැකි විය, නමුත් ඓතිහාසික සංශෝධනවල සෙවීම තනි නූල් එකක් විය. දැන් මෙම සීමාව ඉවත් කර ඇත්තේ වස්තු ගබඩාවෙන් කියවීමේ මෙහෙයුම් සමාන්තර කිරීමේ හැකියාව ක්රියාත්මක කිරීමෙනි. පෙරනිමියෙන්, නූල් ගණන CPU මධ්‍ය ගණනට සමානව සකසා ඇත, බොහෝ අවස්ථාවලදී දැන් “-ත්‍රෙඩ්” විකල්පය පැහැදිලිව සැකසීම අවශ්‍ය නොවේ.
  • “git worktree” විධානයේ උප විධාන, මාර්ග, සබැඳි සහ වෙනත් තර්ක ස්වයංක්‍රීයව සම්පූර්ණ කිරීම සඳහා සහාය එකතු කරන ලදි, එමඟින් ඔබට ගබඩාවේ වැඩ කරන පිටපත් කිහිපයක් සමඟ වැඩ කිරීමට ඉඩ සලසයි.
  • ANSI ගැලවීමේ අනුපිළිවෙල ඇති දීප්තිමත් වර්ණ සඳහා සහය එක් කරන ලදී. උදාහරණයක් ලෙස, උද්දීපනය කරන වර්ණ සඳහා වන සැකසුම් තුළ “git config –color” හෝ “git diff –color-moved” ඔබට දීප්තිමත් නිල් සඳහා “--format” විකල්පය හරහා “%C(brightblue)” සඳහන් කළ හැක.
  • ස්ක්‍රිප්ටයේ නව අනුවාදයක් එක් කරන ලදී fsmonitor-මුරකරු, යාන්ත්රණය සමඟ ඒකාබද්ධ කිරීම සැපයීම ෆේස්බුක් මුරකරු ගොනු වෙනස්කම් නිරීක්ෂණය කිරීම සහ නව ගොනු පෙනුම වේගවත් කිරීමට. යාවත්කාලීන කිරීමෙන් පසු git අවශ්ය වේ ප්රතිස්ථාපනය කරන්න ගබඩාවේ කොක්ක.
  • බිට්මැප් භාවිතා කරන විට අර්ධ ක්ලෝන වේගවත් කිරීම සඳහා ප්‍රශස්තකරණයන් එක් කරන ලදී
    (බිට්මැප් යන්ත්‍රෝපකරණ) ප්‍රතිදානය පෙරීමේදී සියලුම වස්තු සම්පූර්ණයෙන් සෙවීම වැළැක්වීමට. අර්ධ ක්ලෝනීකරණයේදී බ්ලොබ් (—filter=blob:none සහ —filter=blob:limit=n) සඳහා පරීක්ෂා කිරීම දැන් සිදු කෙරේ.
    සැලකිය යුතු ලෙස වේගවත්. GitHub මෙම ප්‍රශස්තිකරණයන් සහ අර්ධ ක්ලෝනකරණය සඳහා පර්යේෂණාත්මක සහාය සහිත පැච් නිවේදනය කළේය.

  • "git rebase" විධානය 'patch+apply' වෙනුවට පෙරනිමි 'merge' යාන්ත්‍රණය (මීට පෙර "rebase -i" සඳහා භාවිතා කරන ලදී) භාවිතා කරමින් වෙනත් පසුබිමකට ගෙන ගොස් ඇත. පසුබිම් කුඩා ආකාර කිහිපයකින් වෙනස් වේ, උදාහරණයක් ලෙස, ගැටුමක් නිරාකරණය කිරීමෙන් පසු මෙහෙයුමක් දිගටම කරගෙන යාමෙන් පසු (git rebase --continue), නව පසුපෙළ කැපවීමේ පණිවිඩය සංස්කරණය කිරීමට ඉදිරිපත් වන අතර පැරණි එක හුදෙක් පැරණි පණිවිඩය භාවිතා කරයි. පැරණි හැසිරීම වෙත ආපසු යාමට, ඔබට "--apply" විකල්පය භාවිතා කළ හැක හෝ 'rebase.backend' වින්‍යාස විචල්‍යය 'apply' ලෙස සැකසිය හැක.
  • .netrc හරහා නිශ්චිතව දක්වා ඇති සත්‍යාපන පරාමිති සඳහා හසුරුවන්නෙකුගේ උදාහරණයක් කොටුවෙන් පිටත භාවිතා කිරීමට සුදුසු පෝරමයක් දක්වා අඩු කර ඇත.
  • ඩිජිටල් අත්සන සත්‍යාපනය කරන විවිධ මූලද්‍රව්‍ය සඳහා අවම විශ්වාස මට්ටම සැකසීමට gpg.minTrustLevel සැකසුම එක් කරන ලදී.
  • "git rm" සහ "git stash" වෙත "--pathspec-from-file" විකල්පය එක් කරන ලදී.
  • SHA-2 වෙනුවට SHA-1 හැෂිං ඇල්ගොරිතමයට සංක්‍රමණය වීමට සූදානමින් පරීක්ෂණ කට්ටල වැඩිදියුණු කිරීම දිගටම සිදු විය.

මූලාශ්රය: opennet.ru

අදහස් එක් කරන්න