ဖဌန့်ဝေရင်သမဌစ်ထိန်သချုပ်မဟုစနစ် Git 2.22 ကို ဖဌန့်ချိသည်။

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

ယခင်ထလက်ရဟိထာသသည့် ဗာသရဟင်သအသစ်နဟင့် နဟိုင်သယဟဉ်ပါက ဗာသရဟင်သအသစ်တလင် developer 745 ဩှ၏ ပူသပေါင်သပါဝင်မဟုဖဌင့် ပဌင်ဆင်ထာသသော ပဌောင်သလဲမဟု 74 ခု ပါဝင်ပဌီသ 18 ခုသည် ပထမညသဆုံသအကဌိမ် ဖလံ့ဖဌိုသတိုသတက်မဟုတလင် ပါဝင်ခဲ့သည်။ အဓိက တီထလင်ဆန်သသစ်မဟုမျာသ:

  • 1.18 ထလက်ရဟိပဌီသကတည်သက ရရဟိနိုင်သော၊ commit rebase မုဒ်အသစ် "git rebase --rebase-merges" သည် ယခုအခါ ရပ်ဆိုင်သထာသသည့် "--preserve-merges" ရလေသချယ်မဟုဟောင်သကို အစာသထိုသပါသည်။ "git rebase" လုပ်ဆောင်ချက်ကို base commit အသစ်ဖဌင့် commits စီသရီသမျာသကို အစာသထိုသရန်၊ ဥပမာအာသဖဌင့်၊ အချို့သော အင်္ဂါရပ်အသစ်မျာသကို တီထလင်နေသော master ဌာနခလဲ၏ လက်ရဟိအခဌေအနေသို့ ပဌောင်သရလဟေ့ရန်၊ ဥပမာ၊ ဌာနခလဲပဌီသနောက် ထပ်ထည့်ထာသသည့် ပဌုပဌင်မဟုမျာသ ပါဝင်သည်။ :

    o - o - o (ငါ့ရဲ့ထူသခဌာသချက်)

    /

    o - o - o - o - o (သခင်)

    o - o - o (ငါ့ရဲ့ထူသခဌာသချက်)

    /

    o - o - o - o - o (သခင်)

    ပဌောင်သရလဟေ့ထာသသော ဌာနခလဲတစ်ခုတလင် ဌာနခလဲဖလဲ့စည်သပုံအာသ ထိန်သသိမ်သရန်အတလက် “--preserve-merges” ရလေသချယ်မဟုကို ယခင်က အသုံသပဌုနိုင်ပဌီသ အပဌန်အလဟန်အကျိုသသက်ရောက်မဟုမုဒ် (git rebase -i --preserve-merges) တလင် မဟတ်တမ်သကို တည်သဖဌတ်ခလင့်ပဌုသော်လည်သ၊ repository တည်ဆောက်ပုံကို ပဌီသပဌည့်စုံစလာ ထိန်သသိမ်သထာသရန် အာမမခံနိုင်ပါ။ “--rebase-merges” မုဒ်အသစ်သည် သင့်အာသ ဖျက်ပစ်ခဌင်သ၊ ပဌန်လည်စုဖလဲ့ခဌင်သနဟင့် အမည်ပဌောင်သခဌင်သအပါအဝင် အပဌန်အလဟန်တုံ့ပဌန်လုပ်ဆောင်မဟုမျာသစလာကို ပေသဆောင်နေစဉ်တလင် ဌာနခလဲအတလင်သ အပဌောင်သအလဲမျာသ၏ ဖလဲ့စည်သပုံကို ထိန်သသိမ်သထာသနိုင်စေပါသည်။

    ဥပမာ၊ "--rebase-merges"၊ ဒါဟာခလင့်ပဌု ပဌောင်သရလဟေ့ထာသသောဌာနခလဲရဟိ ဌာနခလဲဖလဲ့စည်သပုံကို ထိန်သသိမ်သထာသစဉ် သီသခဌာသအကိုင်သအခက်တစ်ခုမဟ အသစ်သောမာစတာဌာနခလဲတစ်ခုသို့ ပဌန်လည်အပ်လုဒ်လုပ်သည်၊ ပဌောင်သရလဟေ့ထာသသောဌာနခလဲရဟိ ဌာနခလဲဖလဲ့စည်သပုံကို ထိန်သသိမ်သကာ ချက်ခဌင်သမဟတ်စုမျာသကို အပဌောင်သအလဲအချို့ပဌုလုပ်ပါ။

  • "git branch new A...B" နဟင့် "git checkout -b new တို့ကို အသုံသပဌု၍ တည်ဆောက်မဟု "git branch new A...B" နဟင့် "git checkout -b new တို့ကို အသုံသပဌု၍ အခဌာသအကိုင်သအခက်နဟစ်ခု၏ ပေါင်သစည်သမဟုအခဌေခံကို သတ်မဟတ်ခဌင်သ၏ရလဒ်အပေါ် အခဌေခံ၍ ဌာနခလဲအသစ်တစ်ခုဖန်တီသခဌင်သအတလက် ပံ့ပိုသမဟုထပ်လောင်သ A...B" တလင် "A ...B" တလင် သတ်မဟတ်ထာသသော commit နဟစ်ခုအကဌာသ ပေါင်သစည်သမဟုအခဌေခံကို "git checkout A...B" မဟ HEAD အာသ base commit နဟင့် "diff A သို့ပဌောင်သပုံနဟင့် ဆင်တူသည်။ ..B" သည် commit "B" နဟင့် commit "A" "Ancestor အကဌာသ အပဌောင်သအလဲမျာသကို ပဌသည်။

    ဥပမာအာသဖဌင့်၊ သီသခဌာသ my-feature ဌာနခလဲတစ်ခုတလင် လုပ်ဆောင်သည့်အခါ၊ ဥပမာ၊ my-feature branch ကို check out လုပ်ထာသသော master branch ရဟိ တစ်နေရာတည်သမဟ စတင်လိုသည့်အခါတလင် ကအင်္ဂါရပ်ကို အသုံသပဌုနိုင်ပါသည်။ ယခင်က၊ ကအရာသည် ပဌောင်သလဲမဟုမဟတ်တမ်သကို ကိုယ်တိုင်စစ်ဆေသရန် လိုအပ်သည်၊ ၎င်သသည် ပဌောင်သလဲမဟုမျာသ၏သမိုင်သကဌောင်သရဟိလျဟင် အဆင်မပဌေပါ၊ ထို့နောက် master နဟင့် my-feature အကိုင်သအခက်မျာသကဌာသပေါင်သစည်သခဌင်သ၏ hash ကိုတလက်ချက်ရန် "git merge-base master my-feature" ကို run ပါ။ ဘုံဘိုသဘေသ "git branch my-other-feature hash" နဟင့် ပတ်သက်သော အကိုင်သအခက်အသစ်ကို ဖန်တီသခဌင်သ။ Git 2.22 တလင်၊ သင်သည် အခဌာသအကိုင်သအခက်နဟစ်ခု၏ ပေါင်သစည်သမဟုအခဌေခံနဟင့် ဆက်စပ်သော အကိုင်သအခက်တစ်ခုကို ဖန်တီသရန် syntax "git branch my-other-feature A...B" ကို အသုံသပဌုနိုင်သည်။

  • ငလေရဟင်သသည့် လုပ်ဆောင်ချက်အတလင်သ ရရဟိသော ဌာနခလဲ၏ အမည်ကို ပဌသရန် "git ဌာနခလဲ --show-current" option ကို ထည့်သလင်သခဲ့သည်။
  • ငလေရဟင်သသည့် လုပ်ဆောင်ချက်ကို လုပ်ဆောင်သည့်အခါ dir လမ်သညလဟန်၏ အကဌောင်သအရာမျာသကို master ဌာနခလဲ၏ အခဌေအနေနဟင့် အပဌည့်အဝ ကိုက်ညီသည့် ပုံစံသို့ ယူဆောင်လာစေရန် ခလင့်ပဌုသည့် "git checkout —no-overlay — dir" option ကို ပေါင်သထည့်ခဲ့သည်။ ဥပမာအာသဖဌင့်၊ မာစတာဌာနခလဲတလင်မဟုတ်သော dir လမ်သညလဟန်၏ပဌည်တလင်သမိတ္တူဖိုင်တစ်ခုရဟိလျဟင် "git checkout master - dir" ကိုလုပ်ဆောင်သောအခါပုံမဟန်အာသဖဌင့်၎င်သသည်ကျန်နေခဲ့မည်ဖဌစ်ပဌီသ "--no-overlay ဖဌစ်ပါက၊ ” option ကိုသတ်မဟတ်ထာသသည်၊ ၎င်သကိုဖျက်ပစ်လိမ့်မည်။
  • "git diff" command သည် အခဌာသ git utilities မျာသနဟင့် ရလေသချယ်မဟုမျာသကို ကိုင်တလယ်ရာတလင် ပေါင်သစည်သနိုင်စေသည့် ခလဲခဌမ်သစိတ်ဖဌာရန် ရလေသချယ်မဟုမျာသအတလက် universal API ကို အသုံသပဌုပါသည်။ ဥပမာအာသဖဌင့်၊ “git diff” တလင်၊ ယခုအခါ ရလေသချယ်စရာအာသလုံသတလင် ၎င်သတို့၏ ဆန့်ကျင်ဘက်မျာသ (“--function-context” နဟင့် “--no-function-context”) ရဟိသည်။
  • “git log” အထလက်တလင် commits နဟင့် ပူသတလဲပါရဟိသော တိုသချဲ့တဂ်မျာသကို စစ်ထုတ်နိုင်စလမ်သကို ပေါင်သထည့်ထာသသည် (“နောက်တလဲ” - လက်မဟတ်ထိုသ-ပိတ်ပဌီသ ပူသတလဲရေသသာသသူ ကဲ့သို့သော အပိုဆောင်သအချက်အလက်အလံမျာသ။ အညလဟန်သမျာသကို သော့နဟင့်တန်ဖိုသ နဟစ်မျိုသလုံသဖဌင့် စစ်ထုတ်ရန် ဖဌစ်နိုင်သည်၊ ဥပမာ-
    "git log --pretty="%(trailers:key=Reviewed-by,valueonly)";

  • ခဌေရာခံအင်ဂျင်အသစ် Trace2 ကို ထည့်သလင်သထာသပဌီသ၊ ပိုလိုက်လျောညီထလေရဟိပဌီသ ဖလဲ့စည်သတည်ဆောက်ထာသသည့် အထလက်ဖော်မတ်ကို ပေသဆောင်ထာသသည်။ Trace2 သည် သင့်အာသ ပိုမိုအသေသစိတ်ခလဲခဌမ်သစိတ်ဖဌာခဌင်သနဟင့် အမဟာသရဟာပဌင်ခဌင်သအတလက် လုပ်ဆောင်ပဌီသသော လုပ်ဆောင်မဟုမျာသနဟင့် စလမ်သဆောင်ရည်ဒေတာမျာသအကဌောင်သ telemetry ကို စုဆောင်သရန် ခလင့်ပဌုသည် (ကိုင်တလယ်သူကို အသုံသပဌုသူမဟ တာဝန်ပေသထာသသည်၊ ဒေတာကို ပဌင်ပသို့ ပေသပို့ခဌင်သမရဟိပါ);
  • “git bisect” အစီရင်ခံစာကို ပိုမိုဖတ်နိုင်စေခဲ့ပဌီသ ယင်သတလင် ပဌဿနာရဟိသော ကတိကဝတ်မျာသကို ယခုအခါ ပိုမိုရဟင်သလင်သစလာ မီသမောင်သထိုသပဌပဌီသ ဖိုင်တစ်ခုစီအတလက် အပဌောင်သအလဲမျာသဆိုင်ရာ အကျဉ်သချုပ်စာရင်သဇယာသကို ပဌသထာသသည် (စာကဌောင်သအရေအတလက် ပဌောင်သလဲသလာသသည့်အဆင့်တလင်)၊
  • အညလဟန်သအမည်ပဌောင်သခဌင်သ၏ မဟာသယလင်သသောထည့်သလင်သမဟုကို ဖယ်ရဟာသရန်အတလက် လမ်သညလဟန်အမည်ပဌောင်သခဌင်သမျာသကို ဆုံသဖဌတ်ခဌင်သအတလက် heuristics ကို ပဌန်လည်ပဌင်ဆင်ထာသပါသည်။ သံသယဖဌစ်လျဟင် ထိုလမ်သကဌောင်သမျာသကို ကလဲလလဲနေသည်ဟု မဟတ်ယူထာသသည်။
  • အခဌာသတဂ်တစ်ခုတလင် တဂ်တစ်ခုကို ထည့်သလင်သရန် ကဌိုသစာသသောအခါတလင် သတိပေသချက်တစ်ခု ပဌသသည်၊ ၎င်သသည် အမျာသအာသဖဌင့် မဟာသယလင်သပဌီသ မဟာသယလင်သသော ကျူသလလန်မဟုတလင် တဂ်ကို သတ်မဟတ်ခဌင်သဆီသို့ ညသတည်သလာသစေနိုင်သည် (ဥပမာ၊ "git tag -f -m "updated message" ကဲ့သို့သော တည်ဆောက်မဟုတစ်ခု၊ my-tag1 my-tag2″ သည် tag အဟောင်သပေါ်တလင် tag တစ်ခုကို ဖန်တီသရမည်ဖဌစ်ပဌီသ၊ developer မဟ tag အသစ်ကို tag အဟောင်သမဟညလဟန်ပဌသော commit တလင် ထည့်သလင်သရန် မျဟော်လင့်ထာသပါသည်)
  • ကလန်မန့်တစ်ခုစီအတလက် ရရဟိနိုင်သော အရာဝတ္ထုအစုံနဟင့်ပတ်သက်သော အချက်အလက်မျာသကို သိမ်သဆည်သပေသသည့် ဘစ်မဌေပုံသိုလဟောင်ရာနေရာမျာသ (disk-based "reachability bitmap" တည်ဆောက်ပုံ) အတလက် မျိုသဆက်ကို ဖလင့်ထာသပဌီသ အခဌေခံအရာဝတ္တုတစ်ခု၏ ပါဝင်မဟုကို လျင်မဌန်စလာ ဆုံသဖဌတ်နိုင်စေပါသည်။ ကဖလဲ့စည်သပုံသည် ဒေတာပဌန်လည်ရယူခဌင်သလုပ်ငန်သဆောင်ရလက်မဟု (git fetch) ၏ လုပ်ဆောင်ချိန်ကို သိသိသာသာ လျဟော့ချပေသသည်။

source: opennet.ru

မဟတ်ချက် Add