Git 2.36 මූලාශ්‍ර පාලන නිකුතුව

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

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

  • “git log” සහ “git show” විධානවලට දැන් “—remerge-diff” විකල්පය ඇත, එය ඒකාබද්ධ කිරීමේ සමස්ත ප්‍රතිඵලය සහ “merge” විධානය සැකසීමෙන් පසු කැපවීමෙන් පිළිබිඹු වන සත්‍ය දත්ත අතර වෙනස්කම් පෙන්වීමට ඔබට ඉඩ සලසයි. , ඒකාබද්ධ කිරීමේ ගැටුම් නිරාකරණය කිරීමේ ප්රතිඵලයක් ලෙස සිදු කරන ලද වෙනස්කම් පැහැදිලිව ඇගයීමට ඔබට ඉඩ සලසයි. සාමාන්‍ය "git show" විධානය විවිධ ගැටුම් නිරාකරණයන් ඉන්ඩෙන්ට් කරයි, වෙනස්කම් තේරුම් ගැනීමට අපහසු වේ. උදාහරණයක් ලෙස, “+/-” පේළියට පහළින් ඇති තිර පිටුවේ, indentation රහිතව, පළමු ශාඛාවේ අදහස් දැක්වීමේදී sha1 oid ලෙස නැවත නම් කිරීම හා සම්බන්ධ ගැටුමේ අවසාන විභේදනය පෙන්වයි, සහ indentation සමඟ “+/-” ආරම්භකය පෙන්වයි. dwim_ref() ශ්‍රිතයේ දෙවන ශාඛාවේ අමතර තර්කයක් ඇතිවීම නිසා ඇති වූ ගැටුම නිරාකරණය කිරීම.
    Git 2.36 මූලාශ්‍ර පාලන නිකුතුව

    "--remerge-diff" විකල්පය භාවිතා කරන විට, ගැටුම් නිරාකරණ අතර වෙනස්කම් එක් එක් මාපිය ශාඛාව සඳහා වෙන් නොකෙරේ, නමුත් ඒකාබද්ධ ගැටුම් ඇති ගොනුව සහ ගැටුම් නිරාකරණය කර ඇති ගොනුව අතර සමස්ත වෙනස්කම් පෙන්වයි.

    Git 2.36 මූලාශ්‍ර පාලන නිකුතුව

  • fsync() ශ්‍රිතයට ඇමතුමක් හරහා තැටි හැඹිලි ෆ්ලෂ් කිරීම සඳහා හැසිරීම් වින්‍යාස කිරීමේදී නම්‍යශීලී බව වැඩි කිරීම. කලින් ලබා ගත හැකි core.fsyncObjectFiles පරාමිතිය core.fsync සහ core.fsyncMethod වින්‍යාස විචල්‍ය දෙකකට බෙදා ඇත, වස්තු ගොනු (.git/objects) වෙත පමණක් නොව සබැඳි වැනි අනෙකුත් git ව්‍යුහයන්ටද fsync යෙදීමේ හැකියාව සපයයි. .git /refs), reflog සහ ගොනු ඇසුරුම් කරන්න.

    core.fsync විචල්‍යය භාවිතා කරමින්, ඔබට අභ්‍යන්තර Git ව්‍යුහයන් ලැයිස්තුවක් නියම කළ හැක, ඒ සඳහා fsync ලිවීමේ මෙහෙයුමකින් පසුව කැඳවනු ලැබේ. core.fsyncMethod විචල්‍යය ඔබට හැඹිලිය ෆ්ලෂ් කිරීම සඳහා ක්‍රමයක් තෝරා ගැනීමට ඉඩ සලසයි, උදාහරණයක් ලෙස, ඔබට එම නමින්ම පද්ධති ඇමතුම භාවිතා කිරීමට fsync තෝරාගත හැක, නැතහොත් pagecache writeback භාවිතා කිරීමට writeout-only සඳහන් කරන්න.

  • අනෙකුත් පරිශීලකයන්ගේ .git නාමාවලි බෙදාගත් කොටස් වලට ආදේශ කිරීම හසුරුවන දුර්වලතා වලින් ආරක්ෂා වීමට, ගබඩා හිමිකරු සත්‍යාපනය ශක්තිමත් කර ඇත. ඕනෑම git විධානයක් ක්‍රියාත්මක කිරීමට දැන් අවසර ඇත්තේ ඔවුන්ගේම ".git" නාමාවලි වල පමණි. ගබඩාව සහිත නාමාවලිය වෙනත් පරිශීලකයෙකුට අයත් නම්, පෙරනිමියෙන් දෝෂයක් පෙන්වනු ඇත. මෙම හැසිරීම safe.directory සැකසුම භාවිතයෙන් අක්‍රිය කළ හැක.
  • Git වස්තු වල මූලාශ්‍ර අන්තර්ගතය ප්‍රතිදානය කිරීම සඳහා අදහස් කරන “git cat-file” විධානය “--batch-command” විකල්පය සමඟ පරිපූරණය කර ඇත, එය පෙර පැවති “--batch” සහ “--batch-check "අන්තර්ගතය ප්‍රදර්ශනය කිරීමට "අන්තර්ගත <object>" හෝ වස්තුව පිළිබඳ තොරතුරු සංදර්ශන කිරීමට "තොරතුරු <object>" භාවිතයෙන් ප්‍රතිදාන වර්ගය අනුවර්තීව තේරීමේ හැකියාව ඇති විධාන. අතිරේකව, "flush" විධානය ප්රතිදාන බෆරය ෆ්ලෂ් කිරීමට සහය දක්වයි.
  • වස්තු ගසක අන්තර්ගත ලැයිස්තුවක් උත්පාදනය කිරීම සඳහා අදහස් කරන "git ls-tree" විධානයට, "-name-only" ට සමාන "-oid-only" ("-object-only") විකල්පය එකතු කර ඇත. ”, ස්ක්‍රිප්ට් වලින් ඇමතුම සරල කිරීම සඳහා වස්තු හඳුනාගැනීම් පමණක් ප්‍රදර්ශනය කරයි. "--format" විකල්පය ද ක්‍රියාත්මක කර ඇත, එමඟින් ඔබට මාදිලිය, වර්ගය, නම සහ ප්‍රමාණය පිළිබඳ තොරතුරු ඒකාබද්ධ කිරීමෙන් ඔබේම ප්‍රතිදාන ආකෘතිය නිර්වචනය කිරීමට ඉඩ සලසයි.
  • “git bisect run” විධානය මඟින් ස්ක්‍රිප්ට් එකක් සඳහා ක්‍රියාත්මක කළ හැකි ගොනු ධජය සැකසීමට නොහැකි වීම හඳුනා ගැනීම ක්‍රියාත්මක කරන අතර මෙම අවස්ථාවේදී 126 හෝ 127 කේත සමඟ දෝෂ දර්ශනය වේ (මීට පෙර, ස්ක්‍රිප්ට් ධාවනය කළ නොහැකි නම්, සියලුම සංශෝධන ගැටළු ඇති බව සලකුණු කර ඇත) .
  • දැනටමත් ප්‍රාදේශීය පද්ධතියේ ඇති අන්තර්ගතය ගැන අනෙක් පාර්ශ්වයට නොදන්වා සියලුම වස්තු ලබා ගැනීමට "git fetch" විධානයට --refetch විකල්පයක් එක් කරන ලදී. දේශීය දත්තවල අඛණ්ඩතාව අවිනිශ්චිත වන විට අසාර්ථක වීමෙන් යථා තත්ත්වයට පත්වීම සඳහා මෙම හැසිරීම ප්රයෝජනවත් විය හැක.
  • "git update-index", "git checkout-index", "git read-tree" සහ "git clean" විධාන දැන් කාර්ය සාධනය වැඩි දියුණු කිරීමට සහ අර්ධ දර්ශක මෙහෙයුම් සිදු කරන ගබඩාවල ඉඩ ඉතිරි කිරීමට අර්ධ දර්ශක සඳහා සහය දක්වයි. )
  • “git clone —filter=... —recurse-submodules” විධානයේ හැසිරීම වෙනස් කර ඇත, එය දැන් උපමොඩියුලවල අර්ධ ක්ලෝනීකරණයට මග පාදයි (මීට පෙර, එවැනි විධාන ක්‍රියාත්මක කිරීමේදී, පෙරණය ප්‍රධාන අන්තර්ගතයට පමණක් යොදන ලද අතර උපමොඩියුල විය. පෙරහන සැලකිල්ලට නොගෙන සම්පූර්ණයෙන්ම ක්ලෝන කර ඇත).
  • "git bundle" විධානය අර්ධ ක්ලෝනකරණ ක්‍රියාවලට සමානව, වරණාත්මකව අන්තර්ගතය තැබීම සඳහා පෙරහන් නියම කිරීම සඳහා සහය එක් කර ඇත.
  • උපමොඩියුල පුනරාවර්තන ලෙස ගමන් කිරීමට "git ශාඛාව" විධානයට "--recurse-submodules" විකල්පය එක් කරන ලදී.
  • Userdiff විසින් Kotlin භාෂාව සඳහා නව හසුරුවන්නක් ඉදිරිපත් කරයි.

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

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