Git 2.39 အရင်သအမဌစ်ထိန်သချုပ်မဟုထုတ်ဝေမဟု

ဖလံ့ဖဌိုသတိုသတက်မဟုနဟစ်လအကဌာတလင်၊ ဖဌန့်ဝေအရင်သအမဌစ်ထိန်သချုပ်မဟုစနစ် Git 2.39 ကိုထုတ်ပဌန်ခဲ့သည်။ Git သည် အကိုင်သအခက်ခလဲခဌင်သနဟင့် ပေါင်သစည်သခဌင်သအပေါ် အခဌေခံ၍ ပဌောင်သလလယ်ပဌင်လလယ်မဟုတ်သော လိုင်သမဟုတ်သော ဖလံ့ဖဌိုသတိုသတက်ရေသကိရိယာမျာသကို ပံ့ပိုသပေသသည့် လူကဌိုက်အမျာသဆုံသ၊ ယုံကဌည်စိတ်ချရပဌီသ စလမ်သဆောင်ရည်မဌင့် ဗာသရဟင်သထိန်သချုပ်မဟုစနစ်မျာသထဲမဟတစ်ခုဖဌစ်သည်။ သမိုင်သ၏ခိုင်မာမဟုနဟင့် နောက်ကဌောင်သပဌန်ပဌောင်သလဲမဟုမျာသကို ခံနိုင်ရည်ရဟိစေရန်အတလက်၊ ကတိတစ်ခုစီတလင် ယခင်သမိုင်သတစ်ခုလုံသကို သလယ်ဝိုက်သောနည်သဖဌင့် ခလဲထုတ်ခဌင်သကို အသုံသပဌုသည်၊ ၎င်သသည် တစ်ညသချင်သစီ၏ တဂ်မျာသကို အသိအမဟတ်ပဌုရန်နဟင့် developer မျာသ၏ ဒစ်ဂျစ်တယ်လက်မဟတ်မျာသဖဌင့် ကတိပဌုနိုင်သည်။

ယခင်ထလက်ရဟိထာသသည့်ဗာသရဟင်သနဟင့် နဟိုင်သယဟဉ်ပါက၊ ဗာသရဟင်သအသစ်တလင် ဆော့ဖ်ဝဲရေသသာသသူ ၈၆ ဩှ၏ ပူသပေါင်သပါဝင်မဟုဖဌင့် ပဌင်ဆင်ထာသသည့် ပဌောင်သလဲမဟု ၄၈၃ ခု ပါဝင်ပဌီသ ၃၁ ညသသည် ဖလံ့ဖဌိုသတိုသတက်မဟုတလင် ပထမဆုံသအကဌိမ် ပါဝင်ခဲ့သည်။ အဓိက တီထလင်ဆန်သသစ်မဟုမျာသ-

  • အပဌောင်သအလဲမျာသ၏သမိုင်သကဌောင်သမဟကိန်သဂဏန်သအချက်အလက်မျာသဖဌင့်အကျဉ်သချုပ်မျာသကိုပဌသရန်ဒီဇိုင်သပဌုလုပ်ထာသသော "git shortlog" ကလန်မန်သသည် စာရေသဆရာ သို့မဟုတ် ကော်မတီဝင်မျာသအတလက် နယ်ပယ်မျာသအလိုက် မတရာသအုပ်စုဖလဲ့ခဌင်သအတလက် "-group" ရလေသချယ်မဟုကို ထည့်သလင်သထာသသည်။ ဥပမာအာသဖဌင့်၊ "Co-authored-by" အကလက်တလင်ဖော်ပဌထာသသောအကူအညီမျာသကိုထည့်သလင်သစဉ်သစာသပဌီသပဌောင်သလဲမဟုအရေအတလက်နဟင့်ပတ်သက်သောအချက်အလက်မျာသပါသော developer မျာသ၏စာရင်သကိုပဌသရန်၊ သင်သည် command ကိုသုံသနိုင်သည်- git shortlog -ns --group=author - -group=trailer:co-authored-by

    Shortlog output ကို formatting specifiers မျာသ အသုံသပဌု၍ ပေါင်သစည်သနိုင်ပဌီသ "--group" option သည် ရဟုပ်ထလေသသော အစီရင်ခံစာမျာသဖန်တီသမဟုကို သိသိသာသာ ရိုသရဟင်သစေပဌီသ ထပ်ဆင့်စီခဌင်သအမိန့်မျာသ လိုအပ်မဟုကို ဖယ်ရဟာသပေသနိုင်ပါသည်။ ဥပမာအာသဖဌင့်၊ လစဉ် ပေသထာသသော ထုတ်ဝေမဟုအတလက် ကတိကဝတ် မည်မျဟ လက်ခံခဲ့ကဌောင်သ အချက်အလက်မျာသ ပါရဟိသော အစီရင်ခံစာကို ဖန်တီသရန်၊ git shortlog v2.38.0.. —date='format:%Y-%m' —group=' ကို သတ်မဟတ်နိုင်ပါသည်။ %cd' -s 2 2022-08 47 2022-09 405 2022-10 194 2022-11 5 2022-12 ယခင်က၊ အလာသတူလုပ်ဆောင်မဟုကို လုပ်ဆောင်ရန်အတလက် မျိုသခလဲနဟင့် uniq utilities မျာသကို အသုံသပဌုရန် လိုအပ်သည်- git log v2.38.0. .. —date='format:%Y -%m' —format='%cd' | မျိုသတူစု | uniq -c

  • သိုလဟောင်ရုံ (အကိုင်သအခက်မျာသ သို့မဟုတ် တဂ်မျာသဖဌင့် ရည်ညလဟန်သခဌင်သမရဟိသော) လက်လဟမ်သမမီနိုင်သော အရာမျာသကို ထုပ်ပိုသရန်အတလက် ဒီဇိုင်သထုတ်ထာသသည့် "cruft packs" ယန္တရာသ၏ စလမ်သဆောင်ရည်မျာသကို တိုသချဲ့ထာသပါသည်။ လက်လဟမ်သမမီနိုင်သော အရာမျာသကို အမဟိုက်စုဆောင်သသူမဟ ဖျက်လိုက်သော်လည်သ ပဌိုင်ပလဲအခဌေအနေမျာသကို ရဟောင်ရဟာသရန် ၎င်သတို့ကို ဖျက်မပစ်မီ အချိန်အတိုင်သအတာတစ်ခုအထိ သိုလဟောင်ရုံတလင် ရဟိနေပါသည်။ “cruft packs” ယန္တရာသသည် သင့်အာသ “.mtimes” တိုသချဲ့မဟုဖဌင့် သီသခဌာသဖိုင်တစ်ခုတလင် သိမ်သဆည်သထာသသည့် သီသခဌာသဇယာသတစ်ခုရဟိ အရာဝတ္ထုတစ်ခုစီ၏ ပဌုပဌင်မလမ်သမံမဟုအချိန်နဟင့် အချက်အလက်မျာသကို ပဌသရန်၊ လက်လဟမ်သမမီနိုင်သော အရာအာသလုံသကို ဖိုင်တစ်ခုတလင် သိမ်သဆည်သနိုင်စေသည်၊ ထို့ကဌောင့် ၎င်သတို့လုပ်ဆောင်နိုင်ရန်၊ စုစုပေါင်သ ပဌုပဌင်မလမ်သမံချိန်နဟင့် မထပ်ပါ။

    ၎င်သတို့ကို အမဟန်တကယ် မဖျက်မီ လက်လဟမ်သမမီနိုင်သော သိုလဟောင်ခန်သတလင် ရဟိနေသည့် အချိန်ကို “--prune=” ရလေသချယ်မဟုဖဌင့် ဆုံသဖဌတ်သည်။ သို့ရာတလင်၊ မဖျက်မီနဟောင့်နဟေသခဌင်သသည် လူမျိုသရေသအခဌေအနေမျာသကဌောင့် သိုလဟောင်မဟုအကျင့်ပျက်ခဌစာသမဟုကို တာသဆီသရန် မျဟတထိရောက်ပဌီသ လက်တလေ့ကျသောနည်သလမ်သဖဌစ်သော်လည်သ၊ ၎င်သသည် 100% စိတ်ချရမည်မဟုတ်ပေ။ ပျက်စီသနေသော သိုလဟောင်ခန်သကို ပဌန်လည်ရယူရန် ပိုမိုလလယ်ကူစေရန်၊ ထုတ်ဝေမဟုအသစ်သည် ပဌင်ပတစ်ခုဖန်တီသရန် ဖိုင်တစ်ခုကို သတ်မဟတ်နိုင်စေသည့် “--expire-to” ရလေသချယ်မဟုကို “git repack” ညလဟန်ကဌာသချက်တလင် ထည့်သလင်သခဌင်သဖဌင့် ပျောက်ဆုံသနေသော အရာဝတ္တုမျာသကို သိမ်သဆည်သနိုင်စေပါသည်။ ဖျက်လိုက်သော အရာအာသလုံသ၏ မိတ္တူ။ ဥပမာအာသဖဌင့်၊ backup.git ဖိုင်တလင် လလန်ခဲ့သည့် 5 မိနစ်အတလင်သ ပဌောင်သလဲ၍မရသော အရာမျာသကို သိမ်သဆည်သရန်၊ git repack --cruft --cruft-expiration=5.minutes.ago -d --expire ကို အသုံသပဌုနိုင်သည်။ -to=../backup.git

  • တစ်စိတ်တစ်ပိုင်သပုံတူပလာသခဌင်သ (ကျဲ-ငလေရဟင်သခဌင်သ) နဟင့် တစ်စိတ်တစ်ပိုင်သအညလဟန်သမျာသ (ကျဲအညလဟန်သကိန်သမျာသ) ရဟိသည့်နေရာမျာသတလင် ရဟာဖလေသည့်အခါ "git grep -cached" လည်ပတ်မဟု၏ အမဌန်နဟုန်သ (70%) အထိ သိသိသာသာ တိုသလာသည်။ ယခင်က၊ "-cached" option ကိုသတ်မဟတ်သောအခါ၊ ရဟာဖလေမဟုသည် ပုံမဟန်အညလဟန်သတလင် ညသစလာလုပ်ဆောင်ခဲ့ပဌီသ၊ ထို့နောက် တစ်ပိုင်သတစ်စတလင် ရဟာဖလေခဌင်သဖဌစ်ပဌီသ ကဌီသမာသသောသိုလဟောင်ရာနေရာမျာသတလင် ရဟာဖလေရာတလင် သိသာထင်ရဟာသသောနဟောင့်နဟေသမဟုမျာသဖဌစ်စေခဲ့သည်။
  • "git push" လည်ပတ်မဟုအတလင်သ ၎င်သတို့အာသ သိုလဟောင်ခန်သတလင် မထာသရဟိမီ အရာဝတ္ထုအသစ်မျာသ၏ ပေါင်သစပ်မဟုကို ဆာဗာ၏ အတည်ပဌုခဌင်သကို အရဟိန်မဌဟင့်လိုက်ပါပဌီ။ စစ်ဆေသသည့်အခါတလင် ကဌေညာထာသသောလင့်ခ်မျာသကိုသာ စာရင်သကိုင်ခဌင်သသို့ ပဌောင်သခဌင်သဖဌင့်၊ လင့်ခ် 7 သန်သပါရဟိသော စမ်သသပ်သိုလဟောင်ရာတလင် 3% ကိုသာ push လုပ်ဆောင်ချက်ဖဌင့် အကျုံသဝင်သော၊ စစ်ဆေသခဌင်သအချိန်ကို 4.5 ဆ လျဟော့ချခလင့်ပဌုထာသသည်။
  • ကုဒ်တလင် ဖဌစ်နိုင်ချေရဟိသော ကိန်သပဌည့်ပဌည့်လျဟံမဟုမျာသကို ကာကလယ်ရန်၊ "git apply" အမိန့်သည် စီမံလုပ်ဆောင်နိုင်သည့် ဖာထေသမဟု၏ အမျာသဆုံသအရလယ်အစာသကို ကန့်သတ်ထာသသည်။ ဖာထေသမဟုအရလယ်အစာသ 1 GB ထက်ကျော်လလန်ပါက အမဟာသအယလင်သတစ်ခုပေါ်လာပါမည်။
  • ဖဌစ်နိုင်ချေရဟိသော အာသနည်သချက်မျာသကို ကာကလယ်ရန်၊ GIT_TRACE_CURL=2 သို့မဟုတ် GIT_CURL_VERBOSE=3 ရလေသချယ်မဟုနဟင့်အတူ HTTP/1 နဟင့်အတူ h1h2 module ကိုအသုံသပဌုသောအခါ သတ်မဟတ်ထာသသည့် ခေါင်သစီသမျာသမဟ မလိုအပ်သောအချက်အလက်မျာသကို ရဟင်သလင်သရန် အပဌောင်သအလဲမျာသ ပဌုလုပ်ထာသပါသည်။
  • အခဌာသဌာနခလဲတစ်ခုသို့ သင်္ကေတလင့်ခ်တစ်ခုဖဌစ်သည့် ဘဏ်ခလဲတစ်ခုတလင် စစ်ဆေသသည့်အခါ၊ "git symbolic-ref HEAD" command သည် ယခုအခါ symlink အမည်ထက် ပစ်မဟတ်ဌာနခလဲ၏အမည်ကို ပဌသပါသည်။
  • ယခင်ဌာနခလဲတစ်ခု၏ ဖော်ပဌချက်ကို တည်သဖဌတ်ရန်အတလက် “--တည်သဖဌတ်-ဖော်ပဌချက်” ရလေသချယ်မဟု (“git ဌာနခလဲ—တည်သဖဌတ်-ဖော်ပဌချက် @{-1}”) တလင် @{-1} အငဌင်သအခုံအတလက် ပံ့ပိုသမဟု ပေါင်သထည့်ထာသသည်။
  • စံထည့်သလင်သမဟုမဟတစ်ဆင့် ရလေသချယ်စရာမျာသစာရင်သကို ဖဌတ်သန်သရန် "git merge-tree --stdin" အမိန့်ကို ထည့်သလင်သခဲ့သည်။
  • ကလန်ရက်ဖိုင်စနစ်မျာသတလင်၊ ဖိုင်စနစ်အတလင်သ အပဌောင်သအလဲမျာသကို စောင့်ကဌည့်သည့် fsmonitor ကိုင်တလယ်သူကို ပုံမဟန်အာသဖဌင့် ပိတ်ထာသသည်။

source: opennet.ru

မဟတ်ချက် Add