බෙදා හරින ලද මූලාශ්ර පාලන පද්ධතියක් වන Git 2.31 දැන් ලබා ගත හැකිය. Git යනු වඩාත් ජනප්රිය, විශ්වාසදායක සහ ඉහළ කාර්යසාධනයක් සහිත අනුවාද පාලන පද්ධතිවලින් එකක් වන අතර එය අතු බෙදීම සහ ඒකාබද්ධ කිරීම මත පදනම්ව නම්යශීලී, රේඛීය නොවන සංවර්ධන හැකියාවන් සපයයි. ප්රතික්රියාශීලී වෙනස්කම් වලට ඓතිහාසික අඛණ්ඩතාව සහ ඔරොත්තු දීමේ හැකියාව සහතික කිරීම සඳහා, එය එක් එක් කැපවීම තුළ සම්පූර්ණ පෙර ඉතිහාසයේ ව්යංග හැෂිං භාවිතා කරන අතර, තනි ටැග් සහ කැපවීම්වල ඩිජිටල් අත්සන් සක්රීය කරයි.
පෙර නිකුතුව හා සසඳන විට, නව අනුවාදයේ සංවර්ධකයින් 85 දෙනෙකුගේ සහභාගීත්වයෙන් සකස් කරන ලද වෙනස්කම් 679 ක් ඇතුළත් වන අතර, ඉන් 23 ක් පළමු වරට දායක විය. ප්රධාන නව විශේෂාංග අතර:
- "git maintenance" විධානය එකතු කර ඇති අතර, එය cron සඳහා සහය නොදක්වන පද්ධතිවල ආවර්තිතා කාර්යයන් සඳහා ඉඩ සලසයි. උදාහරණයක් ලෙස, නව විධානය මඟින් විවිධ විධාන ක්රියාත්මක කරන අතරතුර ස්වයංක්රීය ඇසුරුම් සිදු කරන විට ගබඩාව අගුළු දැමීම සඳහා රැඳී සිටීමේ අවශ්යතාවය ඉවත් කරමින්, නිධිය ඇසුරුම් කිරීමේ ක්රියාවලියක් වරින් වර ක්රියාත්මක කිරීමට භාවිතා කළ හැකිය. "git maintenance" විධානය මඟින් අන්තර්ක්රියාකාරී සැසිය අවහිර නොකර පසුබිමේ ප්රශස්තිකරණය සහ නඩත්තු මෙහෙයුම් සිදු කිරීමට ඉඩ සලසයි. පැයකට වරක්, එය දුරස්ථ ගබඩාවෙන් නැවුම් වස්තූන් පූර්වගාමීව බාගත කර commit graph ගොනුව යාවත්කාලීන කරන අතර, රාත්රියේ නිධිය ඇසුරුම් කිරීමේ ක්රියාවලිය ක්රියාත්මක කරයි.
- පැක්ෆයිල් සඳහා තැටි ප්රතිලෝම දර්ශකයක් (revindex) පවත්වා ගැනීම සඳහා සහාය එක් කර ඇත. මතක් කිරීමක් ලෙස, Git සියලුම දත්ත වස්තු ලෙස ගබඩා කරයි, ඒවා වෙනම ගොනු වල ගබඩා කර ඇත. නිධි ක්රියාකාරිත්වය වැඩි දියුණු කිරීම සඳහා, වස්තූන් අතිරේකව පැක්ෆයිල් වල තබා ඇති අතර, එහිදී තොරතුරු එකිනෙක අනුගමනය කරන වස්තු ප්රවාහයක් ලෙස ඉදිරිපත් කෙරේ (git fetch සහ git push විධාන සමඟ වස්තු මාරු කිරීමේදී සමාන ආකෘතියක් භාවිතා වේ). සෑම පැක්ෆයිල් එකක් සඳහාම දර්ශක ගොනුවක් (.idx) නිර්මාණය කර ඇති අතර, දී ඇති වස්තුවක් ගබඩා කර ඇති පැක්ෆයිල් එකේ ඕෆ්සෙට් එක වස්තු හැඳුනුම්පත මත පදනම්ව ඉක්මනින් තීරණය කිරීමට ඉඩ සලසයි. Git 2.31 හි හඳුන්වා දී ඇති ප්රතිලෝම දර්ශකය (.rev), පැක්ෆයිල් එකේ වස්තුවේ පිහිටීම මත පදනම්ව වස්තු හැඳුනුම්පතක් තීරණය කිරීමේ ක්රියාවලිය ප්රශස්ත කිරීම අරමුණු කර ගෙන ඇත.
මීට පෙර, ඇසුරුම් ගොනු විග්රහ කිරීමේදී එවැනි පරිවර්තනයක් ක්ෂණිකව සිදු කරන ලද අතර එය මතකයේ පමණක් ගබඩා කරන ලද අතර එමඟින් එවැනි දර්ශක නැවත භාවිතා කිරීම වළක්වන ලද අතර සෑම අවස්ථාවකම දර්ශකය ජනනය කිරීමට බල කෙරුනි. දර්ශක ඉදිකිරීමට වස්තු-ස්ථාන යුගල අරාවක් තැනීම සහ ස්ථානය අනුව වර්ග කිරීම ඇතුළත් වන අතර එය විශාල ඇසුරුම් ගොනු සඳහා කාලය ගතවනු ඇත.
උදාහරණයක් ලෙස, ඉදිරි දර්ශකයක් භාවිතයෙන් වස්තු අන්තර්ගතයන් ප්රදර්ශනය කිරීම සුචිගත කිරීමකින් තොරව වස්තු ප්රමාණයන් ප්රදර්ශනය කිරීමට වඩා 62 ගුණයකින් වේගවත් විය. ප්රතිලෝම දර්ශකයක් භාවිතා කිරීමෙන් පසු, මෙම මෙහෙයුම් සඳහා ආසන්න වශයෙන් එකම කාලයක් ගත විය. ප්රතිලෝම දර්ශක මඟින් තැටියෙන් පෙර පවතින දත්ත සෘජුවම මාරු කිරීමෙන් ලබා ගැනීමේ සහ තල්ලු කිරීමේ මෙහෙයුම් වේගවත් කරයි. ප්රතිලෝම දර්ශක පෙරනිමියෙන් නිර්මාණය නොවේ; ඒවා ජනනය කිරීම සඳහා "git config pack.writeReverseIndex true" සැකසුම සක්රීය කර පසුව "git repack -Ad" සමඟ ගබඩාව ඇසුරුම් කිරීම අවශ්ය වේ.
- නව කැපවීම් උත්පාදන අංක දත්ත commit-graph ගොනු ආකෘතියට එකතු කිරීම මත පදනම් වූ කාර්ය සාධන ප්රශස්තිකරණයන් එකතු කරන ලදී, එය commit තොරතුරු වෙත ප්රවේශය ප්රශස්ත කිරීමට භාවිතා කරන අතර, එය අතිරේක කැපවීම් මෙහෙයුම් වේගවත් කිරීමට භාවිතා කළ හැකිය.
- Дополнены возможности по переопределению имени основной ветки, применяемой по умолчанию в новых репозиториях (настройка init.defaultBranch). При обращении к внешним репозиториям git пытается извлечь ветку, на которую указывает HEAD, т.е. если внешний සේවාදායකය использует по умолчанию ветку «main», то операция «git clone» попытается локально извлечь «main. В Git 2.31 поддержка подобного извлечения теперь реализована и для пустых репозиториев. Например, при локальном клонировании нового репозитория перед добавлением в него первых патчей, локальная копия теперь будет содержать выставленное на внешнем සේවාදායකය පෙරනිමි මාස්ටර් ශාඛාවේ නම.
- 'git rev-list' විධානයට දැන් '--disk-usage' විකල්පයක් ඇති අතර එමඟින් වස්තූන්ගේ ප්රමාණය පිළිබඳ සාරාංශයක් පෙන්වීමට ඔබට ඉඩ සලසයි.
- ඉදිරියේදී සිදුවීමට නියමිත ඒකාබද්ධ පසුබිම් ප්රතිස්ථාපනය අපේක්ෂාවෙන්, නැවත නම් කිරීමේ අනාවරණය සැලකිය යුතු ලෙස ප්රශස්ත කර ඇත.
- උරුම PCRE1 නිත්ය ප්රකාශන පුස්තකාලය සඳහා සහාය නතර කර ඇත.
- හැෂින් ඇල්ගොරිතමය කුමක් වුවත්, කෙටි කළ URL බලහත්කාරයෙන් අක්රිය කිරීම දැන් ලබා ගත හැකිය. මෙම අක්රිය කිරීම core.abbrev පරාමිතිය "no" ලෙස සැකසීමෙන් සක්රීය කර ඇත.
- 'git rev-parse' විධානයට දැන් '--path-format=(absolute|relative)' විකල්පයක් ඇත, එය සාපේක්ෂ හෝ නිරපේක්ෂ මාර්ග ප්රතිදානයද යන්න පැහැදිලිව පාලනය කිරීමට ඉඩ සලසයි.
- අභිරුචි git උප විධාන සඳහා සම්පූර්ණ කිරීමේ නීති එකතු කිරීම දැන් Bash ආදාන සම්පූර්ණ කිරීමේ ස්ක්රිප්ට් මඟින් පහසු කරයි.
- 'git bundle' විධානයට දැන් සම්මත ආදානයෙන් යොමු කියවීමට '--stdin' විකල්පයක් ඇත.
- "git log" විධානයට "--diff-merges=" යන නව විකල්පයක් එකතු කර ඇත. ".
- "git ls-files" විධානයට දැන් ප්රතිදානයෙන් අනුපිටපත් ඉවත් කිරීමට "--deduplicatecan" විකල්පයක් ඇත.
- කොමිට් පරාසයක් බැහැර කිරීම සඳහා නව වෙස් මුහුණු එකතු කරන ලදී - " ^!» සහ « ^- ".
- 'git range-diff' විධානයේ දැන් සංසන්දනාත්මක පරාසයේ එක් පැත්තක් පමණක් පෙන්වීමට '--left-only' සහ '--right-only' විකල්ප ඇත.
- --skip-to= git diff සහ git log විධාන වලට විකල්ප එකතු කරන ලදී " සහ "—භ්රමණය කරන්න-to= » ආරම්භක මාර්ග මඟ හැරීමට හෝ අවසානයට යාමට.
- git difftool විධානයට දැන් "--skip-to=" විකල්පයක් ඇත. » අත්තනෝමතික මාර්ගයකින් බාධා කළ සැසියක් නැවත ආරම්භ කිරීමට.
- සංවර්ධකයින් අතර ගැටුම් තත්ත්වයන් විසඳීම සඳහා මූලික මූලධර්ම නිර්වචනය කරන චර්යාධර්ම සංග්රහය 2.0 අනුවාදයට යාවත්කාලීන කර ඇත (පෙර 1.4 අනුවාදය භාවිතා කරන ලදී).
මූලාශ්රය: opennet.ru
