Git 2.38 အရင်းအမြစ်ထိန်းချုပ်မှုထုတ်ဝေမှု

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

ယခင်ထွက်ရှိထားသည့် ဗားရှင်းအသစ်နှင့် နှိုင်းယှဉ်ပါက ဗားရှင်းအသစ်တွင် developer 699 ၏ ပူးပေါင်းပါဝင်မှုဖြင့် ပြင်ဆင်ထားသော ပြောင်းလဲမှု 92 ခုပါဝင်ပြီး 24 ခုသည် ပထမဆုံးအကြိမ် ဖွံ့ဖြိုးတိုးတက်မှုတွင် ပါဝင်ခဲ့သည်။ အဓိက တီထွင်ဆန်းသစ်မှုများ-

  • အဓိကဖွဲ့စည်းပုံတွင် ကြီးမားသောသိုလှောင်ရာနေရာများကို စီမံခန့်ခွဲရန်အတွက် Microsoft မှတီထွင်ထားသည့် “scalar” utility ပါဝင်သည်။ utility ကို မူလက C# ဖြင့် ရေးသားထားသော်လည်း git တွင် C တွင် ပြုပြင်ထားသော ဗားရှင်းတစ်ခု ပါဝင်သည်။ အသုံးဝင်မှုအသစ်သည် အလွန်ကြီးမားသော repositories နှင့် အလုပ်လုပ်သောအခါ စွမ်းဆောင်ရည်ကို ထိခိုက်စေသည့် မူရင်းအပိုဆောင်းအင်္ဂါရပ်များနှင့် ဆက်တင်များဖြင့် ဖွင့်ခြင်းဖြင့် git အမိန့်နှင့် ကွဲပြားသည်။ ဥပမာအားဖြင့်၊ scalar ကိုအသုံးပြုသည့်အခါ ၎င်းသည် အကျုံးဝင်သည်-
    • သိုလှောင်မှု၏ မပြည့်စုံသောမိတ္တူဖြင့် အလုပ်လုပ်ရန် တစ်စိတ်တစ်ပိုင်းပုံတူပွားခြင်း။
    • ဖိုင်စနစ် (FSMonitor) တွင် အပြောင်းအလဲများကို ခြေရာခံရန်အတွက် တပ်ဆင်ထားသော ယန္တရားသည် အလုပ်လမ်းညွှန်တစ်ခုလုံးကို ရှာဖွေခြင်းမပြုဘဲ လုပ်ဆောင်နိုင်သည်။
    • မတူညီသော အထုပ်ဖိုင်များ (multi-pack) ရှိ အရာဝတ္ထုများကို ဖုံးအုပ်ထားသော အညွှန်းများ။
    • commit-graph ဖိုင်များကို commit graph အညွှန်းဖြင့် commit information ကို ရယူသုံးနိုင်မှုကို အကောင်းဆုံးဖြစ်အောင် ပြုလုပ်ရန် အသုံးပြုသည်။
    • အပြန်အလှန်အကျိုးသက်ရောက်သော session ကိုမပိတ်ဆို့ဘဲ နောက်ခံရှိ repository ၏ အကောင်းဆုံးပုံစံကို ထိန်းသိမ်းရန် နောက်ခံအချိန်အပိုင်းအခြားအလိုက် လုပ်ဆောင်ခြင်း (အလုပ်သည် အဝေးထိန်းသိုလှောင်မှုမှ လတ်ဆတ်သောအရာဝတ္ထုများကို ဒေါင်းလုဒ်လုပ်ရန်နှင့် commit ဂရပ်ဖြင့် ဖိုင်ကို အပ်ဒိတ်လုပ်ရန် တစ်နာရီလျှင်တစ်ကြိမ် လုပ်ဆောင်သည် သိုလှောင်မှုကို ညတိုင်း စတင်သည်။)
    • တစ်စိတ်တစ်ပိုင်းပုံတူပွားနေစဉ် ခွင့်ပြုထားသော ပုံစံများကို ကန့်သတ်ထားသည့် "sparseCheckoutCone" မုဒ်။
  • လိုအပ်သော commit သို့ပြောင်းရန်အတွက် မှီခိုနေသောအကိုင်းအခက်တစ်ခုစီကို ကိုယ်တိုင်ငွေရှင်းရန်မလိုဘဲ ပြောင်းရွှေ့ခံရသည့်အကိုင်းအခက်များနှင့် ထပ်နေသော မှီခိုနေသောအကိုင်းအခက်များကို အပ်ဒိတ်လုပ်ရန် --update-refs ရွေးစရာတစ်ခုထပ်ထည့်ထားသည်။
  • "git rm" အမိန့်ကို တစ်စိတ်တစ်ပိုင်းအညွှန်းများနှင့် လိုက်ဖက်အောင် ပြုလုပ်ထားသည်။
  • "cone" မုဒ်တွင် တစ်စိတ်တစ်ပိုင်း အညွှန်းများပါသည့် အလုပ်နေရာမှ ဖိုင်တစ်ခုကို ဤမုဒ်မပါသော ပြင်ပနယ်ပယ်သို့ ရွှေ့သည့်အခါ "git mv AB" ကွန်မန်း၏ အမူအကျင့်ကို မြှင့်တင်ပေးပါသည်။
  • ဘစ်မြေပုံဖိုင်ဖော်မတ်သည် သိုလှောင်ရာနေရာကြီးများနှင့် အလုပ်လုပ်ရန်အတွက် အကောင်းဆုံးဖြစ်အောင် ပြုလုပ်ထားသည် - ရွေးချယ်ထားသော ကွန်မန့်များနှင့် ၎င်းတို့၏ အော့ဖ်ဆက်များစာရင်းနှင့်အတူ ရွေးချယ်နိုင်သော အညွှန်းဇယားကို ပေါင်းထည့်ထားသည်။
  • "git merge-tree" အမိန့်သည် သတ်မှတ်ထားသော ကွန်မန့်နှစ်ခုအပေါ် အခြေခံ၍ အဆိုပါ commits များ၏ သမိုင်းများကို ပေါင်းစည်းလိုက်သကဲ့သို့ ပေါင်းစည်းခြင်း၏ရလဒ်ပါရှိသောသစ်ပင်ကို တွက်ချက်ပါသည်။
  • အခြား git repositories အတွင်းရှိ သီးသန့် repositories (အလုပ်ပင်မပါဝင်သည့် repositories) ကို ထိန်းချုပ်ရန် "safe.barerepository" ဆက်တင်ကို ထည့်သွင်းထားသည်။ "ရှင်းလင်းပြတ်သားစွာ" ဟုသတ်မှတ်သောအခါ၊ ၎င်းသည် ထိပ်တန်းလမ်းညွှန်တွင်သာရှိသော သီးသန့်သိုလှောင်ရုံများနှင့် အလုပ်လုပ်နိုင်မည်ဖြစ်သည်။ ဖိုင်တွဲခွဲများတွင် သီးသန့်သိမ်းဆည်းထားသောနေရာများကို ထားရှိနိုင်ရန် "အားလုံး" တန်ဖိုးကို အသုံးပြုပါ။
  • "git grep" အမိန့်သည် GNU grep တွင်တူညီသောအမည်၏ရွေးချယ်မှုနှင့်ဆင်တူသော "-m" ("-max-count") ရွေးချယ်မှုကိုထည့်သွင်းထားပြီးပြသထားသည့်ကိုက်ညီမှုအရေအတွက်ကိုကန့်သတ်ရန်ခွင့်ပြုသည်။
  • "ls-files" command သည် output fields ကို configure လုပ်ရန် "--format" option ကို အကောင်အထည်ဖော်သည် (ဥပမာ၊ သင်သည် အရာဝတ္ထုအမည်၊ မုဒ်များ စသည်ဖြင့်) အထွက်ကို ဖွင့်နိုင်သည်။
  • "git cat-file" တွင်၊ အရာဝတ္ထုများ၏အကြောင်းအရာများကိုပြသသည့်အခါ၊ mailmap ဖိုင်တွင်ဖော်ပြထားသောစာရေးဆရာ-email bindings ကိုထည့်သွင်းစဉ်းစားရန်ဖြစ်နိုင်သည်။

source: opennet.ru

မှတ်ချက် Add