ဂစ်တ်

ဂစ်တ် () သည် ဆော့ဖ်ဝဲ တည်ဆောက်စဉ်အတွင်း ရင်းမြစ်ကုဒ်ပြောင်းလဲမှုများကို ခြေရာခံရန် ဖြန့်ဝေထားသော ဗားရှင်းထိန်းချုပ်စနစ်(Version Control) ဖြစ်သည်။ ၎င်းကိုပရိုဂရမ်မာများအကြား ညှိနှိုင်းဆောင်ရွက်ရန် ဒီဇိုင်းပြုလုပ်ထားသော်လည်း မည်သည့်ဖိုင်အစု၌မဆိုပြောင်းလဲမှုများကို ခြေရာခံရန်အသုံးပြုနိုင်သည်။ ၎င်း၏ရည်မှန်းချက်များမှာ မြန်နှုန်း "So I'm writing some scripts to try to track things a whole lot faster."၊ အချက်အလက် မှန်ကန်စွာတည်မြဲမှု(data integrity)၊ အချက်အလက်ပြည့်စုံမှု၊ ဖြန့်ဝေထားသော သမရိုးကျ တစ်ဖြောင့်တည်းမဟုတ်သော လုပ်ငန်းအသွားအလာများအတွက်အထောက်အပံ့ ပါဝင်သည်။ Git ကို လီနပ်စ် တောဗောလ်(Linus Torvalds)မှ ၂၀၀၅ ခုနှစ်တွင် လင်းနပ်စ်ကာနယ် ကိုဖွံ့ဖြိုးစေရန်အတွက်ဖန်တီးခဲ့သည်။ အခြား ကာနယ်ကုဒ် ရေးသားသူများက ၎င်း၏ကနဦး တိုးတက်မှုကိုအထောက်အကူပြုသည်။ ၂၀၀၅ ခုနှစ်မှစ၍ လက်ရှိပြုပြင်ထိန်းသိမ်းသူမှာ ဂျူနီယို ဟာမာနို ဖြစ်သည်။ အခြားဖြန့်ဝေထားသော ဗားရှင်းထိန်းချုပ်စနစ်(Version Control) များကဲ့သို့ ဗဟိုထိန်းချုပ်နည်းစနစ်များနှင့်မတူဘဲ ကွန်ပျူတာတိုင်းရှိ Git ရီပိုစစ်တရီ (Repository) သည် သမိုင်းပြည့်စုံပြီး ဗားရှင်းခြေရာခံနိုင်စွမ်းအပြည့်အဝရှိပြီး ကွန်ယက်ချိတ်ဆက်မှုသို့မဟုတ် ဗဟိုဆာဗာတို့မှ အမှီအခိုကင်းသည်။ Git သည်အခမဲ့ဖြစ်ပြီး ရင်းမြစ်မြင်OpenSource ဆော့ဖ်ဝဲရ်ဖြစ်ပြီး GNU General Public License version 2 အရဖြန့်ဝေသည်။ ရာဇဝင် လင်းနပ်စ်ကာနယ်မှ ဆော့ဖ်ဝဲတည်ဆောက်သူများအနေဖြင့် ကာနယ်ရင်းမြစ်ကိုထိန်းသိမ်းရန် ယခင်ကအသုံးပြုခဲ့သော ရင်းမြစ်ထိန်းချုပ်မှုစီမံခန့်ခွဲမှုစနစ် BitKeeper အား အသုံးပြုခွင့်ကို စွန့်လွှတ်ပြီးနောက် ၂၀၀၅ ခုနှစ် ဧပြီလတွင် Git ဗားရှင်းထိန်းချုပ်စနစ် တည်ဆောက်မှု စီမံကိန်းကို စတင်ခဲ့သည်။BitKeeper and Linux: The end of the road? |linux.com BitKeeper မူပိုင်ခွင့်ကိုင်ဆောင်ထားသော လယ်ရီ မက်ဗွုန်းက အဲန်ဒရူး တရစ်ဂျယ် သည် BitKeeper ကို ပြောင်းပြန်အင်ဂျင်နီယာနည်းဖြင့် အတုခိုး၍ SourcePuller ကိုတီထွင်ခဲ့သည်ဟုပြောဆိုပြီး BitKeeperကို အခမဲ့အသုံးပြုခြင်းကို ရုပ်သိမ်းခဲ့သည်။ အလားတူအဖြစ်အပျက်သည် အခြား ဗားရှင်းထိန်းချုပ်စနစ်တစ်ခုဖြစ်သော Mercurial တီထွင်မှုကိုလည်း ဖြစ်အောင်တွန်းအားပေးခဲ့သေးသည်။ တော်ဗဲလ်သည် BitKeeper ကဲ့သို့ သူအသုံးပြုနိုင်သည့် ဖြန့်ဝေထားသော ရင်းမြစ်ထိန်းချုပ်စနစ်တစ်ခုကို လိုချင်သော်လည်း အခမဲ့ရရှိနိုင်သည့် မည်သည့်စနစ်ကမျှသူ၏လိုအပ်ချက်များနှင့်မကိုက်ညီပါ။ တော်ဗဲလ်သည် ပြင်ဆင်ပြောင်းလဲမှုတစ်ခုကိုပြုရန်နှင့် သက်ဆိုင်သော metadata များအားလုံးကို ပြုပြင်မွမ်းမံရန် စက္ကန့် ၃၀ လိုသည့် ရှိပြီးသား ရင်းမြစ်ထိန်းချုပ်ခန့်ခွဲမှုစနစ်တစ်ခု၏ ဥပမာကိုကိုးကားပြီး ၎င်းသည် လင်းနပ်စ်ကာနယ်ဖွံ့ဖြိုးတိုးတက်မှု၏ လိုအပ်ချက်နှင့်မကိုက်ညီကြောင်း၊ သူ၏ဒီဇိုင်းစံသတ်မှတ်ချက်အရ အဆိုပါပြင်ဆင်ခြင်းသည် သုံးစက္ကန့်ထက် မပိုစေသင့်ကြောင်းဖော်ပြခဲ့သည်။ ထို့အပြင် အောက်ပါ သုံးချက်နှင့်လည်း ကိုက်ညီရမည်ဖြစ်ကြောင်း စံသတ်မှတ်ခဲ့သည်- စီဗွီအက်စ် (CVS) ရင်းမြစ်ထိန်းချုပ်စနစ်၏ လုပ်ကိုင်နည်းများကို မလုပ်သင့်သောနည်းလမ်းဥပမာအဖြစ်ယူမှတ်ပါ။ အမြဲတမ်းသူနှင့် ဆန့်ကျင်ဘက်နည်းကို သုံးပါ။ BitKeeper ကဲ့သို့သော ဖြန့်ဝေထားသော ရင်းမြစ်ထိန်းချုပ်စနစ် လုပ်ငန်းအသွားအလာနည်းလမ်းကို လုပ်နိုင်ရမည်။ မတော်တဆဖြစ်စေ၊ တမင်တကာဖြစ်စေ ရင်းမြစ်ကို ပျက်စီးပြောက်ဆုံးစေမှုများ မဖြစ်စေရန် ပြင်းထန်သောအကာအကွယ်များထည့်သွင်းပါ။ အဆိုပါစံနှုန်းများကြောင့် ထိုစဉ်ကရှိပြီးသားဖြစ်သော ရင်းမြစ်ထိန်းချုပ်စနစ်များအား လင်းနပ်စ်ကာနယ်စီမံကိန်းတွင် အသုံးပြုရန် မဖြစ်နိုင်တော့ပေ။ ထို့ကြောင့် လင်းနပ်စ်ကာနယ် ဗားရှင်း 2.6.12-rc ဖြန့်ချိပြီးသည်နှင့် တော်ဗဲလ်သည် သူ့ကိုယ်တိုင် ရင်းမြစ်ထိန်းချုပ်စနစ်အသစ်ကို ရေးသားရန် စတင်ခဲ့သည်။ Git ကို ၂၀၀၅ ခုနှစ် ဧပြီလ ၃ ရက်နေ့တွင်စတင်ခဲ့သည်။ တော်ဗဲလ်က စီမံကိန်းကို ဧပြီလ ၆ ရက်တွင်ကြေညာခဲ့သည်။ ၎င်းသည် ဧပြီလ ၇ ရက်မှစပြီး စီမံကိန်း၏ ရင်းမြစ်များကို ပြန်လည်သိမ်းဆည်းနိုင်ကြောင်း ပြသခဲ့သည်။ ရင်းမြစ်ကိုင်ပေါင်းများ(git branches)စွာကို ပထမဆုံးပေါင်းစည်းခြင်းသည် ဧပြီ ၁၈ ရက်တွင် ပြုလုပ်နိုင်ခဲ့သည်။ တော်ဗဲလ်သည် သူသတ်မှတ်ထားသော စွမ်းဆောင်ရည်စံနှုန်းများကို ဧပြီလ ၂၉ ရက်တွင် အောင်မြင်စွာ သက်သေပြ ရရှိခဲ့သည်။ မွေးကင်းစ Git သည် တစ်စက္ကန့်ကို ၆.၇ ပြင်ဆင်မှု နှုန်းဖြင့် လင်းနပ်စ်ကာနယ်ရင်းမြစ်ဆိုင်ရာ အသုံးပြုမှုများတွင် စံချိန်တင်လုပ်ဆောင်နိုင်ခဲ့သည်။ ဇွန်လ ၁၆ ရက်နေ့တွင် Git သည် လင်းနပ်စ်ကာနယ်ဗားရှင်း ၂.၆.၁၂ ထုတ်လွှတ်မှု၌ အသုံးပြုနိုင်သော ရင်းမြစ်ထိန်းချုပ်ခန့်ခွဲမှုစနစ် အဖြစ်သို့ ရောက်ရှိခဲ့သည်။ တော်ဗဲလ်သည် ၂၀၀၅ ခုနှစ် ဇူလိုင်လ ၂၆ ရက်နေ့တွင် စီမံကိန်းအတွက် အဓိကပံ့ပိုးသူ ဂျူနီယို ဟာမာနိုသို့ ရင်းမြစ်ပြုပြင်ထိန်းသိမ်းမှုကို လွှဲပြောင်းပေးခဲ့သည်။ ဟာမာနိုသည် ၂၀၀၅ ခုနှစ် ဒီဇင်ဘာ ၂၁ ရက်တွင် Git ဗားရှင်း ၁.၀ ဖြန့်ချိမှုအတွက် တာဝန်ယူခဲ့ပြီး အခုအချိန်ထိ စီမံကိန်းကို ဆက်လက်ထိန်းသိမ်းသူအနေဖြင့် တာဝန်ယူဆဲဖြစ်သည်။ ဒီဇိုင်း BitKeeper နှင့် Monotone တို့၏ ဒီဇိုင်းက Git ၏ ဒီဇိုင်းအပေါ် လွှမ်းမိုးမှု ရှိခဲ့သည်။ Git ကိုမူလက ရင်းမြစ်ထိန်းချုပ်စနစ်ကို နောက်ကနေထိုင်ပြီး တွန်းပေးသည့်စက်တစ်ခုအနေဖြင့် ထားရှိပြီး၊ ရှေ့ပိုင်း တကယ်အသုံးပြုသူနှင့် ထိတွေ့သည့်အပိုင်းကို Cogito သို့မဟုတ် StGIT အစရှိသော ရှေ့ထွက်ပရိုဂရမ်များ(front ends) ကကိုင်တွယ်ပေးရန် ရည်ရွယ်ခဲ့သည်။ (အစောပိုင်း ဗားရှင်း Gitမှာ သာမန်အသုံးပြုသူအတွက် လုံး၀မလွယ်ကူကြောင်း စရေးသားသူ တော်ဗဲလ်ကိုယ်တိုင် ပြောခဲ့ဘူးသည်။) နောက်ပိုင်းကာလများ၌ Git စီမံကိန်းသည် နောက်ထိုင်စက်ရော ရှေ့အသုံးပြုသူ၏ ညွှန်ကြားမှု(command)လက်ခံအပိုင်းရော ပါဝင်တည်ဆောက်ထားသည့် ပြီးပြည့်စုံသော ရင်းမြစ်ထိန်းချုပ်စနစ်တစ်ခု ဖြစ်လာခဲ့သည်။ BitKeeper ၏လွှမ်းမိုးမှုကြီးမားသော်လည်း၊ တော်ဗဲလ်သည် သမားရိုးကျ ရင်းမြစ်ထိန်းချုပ်စနစ်တည်ဆောက်မှု နည်းလမ်းများကို တမင်တကာရှောင်ရှားခဲ့ပြီး တစ်မူထူးခြားသောဒီဇိုင်းကို ဦးတည်ကာ Gitကို တည်ဆောက်ခဲ့သည်။ ဝိသေသလက္ခဏာများ သမရိုးကျ တစ်ဖြောင့်တည်းမဟုတ်သော ဆော့ဖ်ဝဲရ်များတည်ဆောက်နည်းကို အထူးသဖြင့် အထောက်အကူပြုခြင်း ဗဟိုထိန်းချုပ်မဟုတ်သော ဆော့ဖ်ဝဲရ်များတည်ဆောက်နည်းကို အထောက်အကူပြုခြင်း ရှိပြီးသားစနစ်များ၊ ပရိုတိုကော(protocol)များနှင့် သဟဇာတဖြစ်ခြင်း ကြီးမားသော ဆော့ဖ်ဝဲရ်စီမံကိန်းများကို ထိရောက်စွာ ကိုင်တွယ်နိုင်ခြင်း ပြောင်းလဲမှု ရာဇဝင်ကို မှတ်သားရာ၌ ခရစ်ပတိုဂရပ်ဖင့်(Cryptographic)နည်းဖြင့် စစ်မှန်ကြောင်း အထောက်အထားပြနိုင်ခြင်း မော်ဂျူးအစိတ်အပိုင်းငယ်များကို စုပေါင်းထားသော (Toolkit-based) ဒီဇိုင်းဖြစ်ခြင်း ပေါင်းစည်းမဟာဗျူဟာများ (merge strategies)ကို ပြောင်းလဲအသုံးပြုနိုင်စေခြင်း ဆော့ဖ်ဝဲရ်အတွင်းအမှိုက်များကို အလိုအလျောက် စုဆောင်းစွန့်ပစ်စနစ်ပါရှိခြင်း အချိန်ပိုင်းအလိုက် ရှင်းလင်းပြတ်သားစွာ ဆော့ဖ်ဝဲရ်အတွင်းဝတ္ထု(object)များကို အရွယ်ငယ်အောင် ပြုလုပ်ပေးခြင်း အသုံးပြုလာမှုနှုန်း အီးကလစ် ဖောင်ဒေးရှင်းမှ ၎င်း၏ နှစ်ပတ်လည် လူထုစစ်တမ်းတွင် ၂၀၁၄ မေလအထိ စာရင်းအရ Git သည်ယခုအခါ အသုံးအများဆုံး ရင်းမြစ်ထိန်းချုပ်စနစ် ဖြစ်သည်။ စီးပွားဖြစ်လုပ်ကိုင်ကြသော ဆော့ဖ်ဝဲရ် တည်ဆောက်သူများမှ ၄၂.၉% သည် Git ကို ၎င်းတို့၏ အဓိက ရင်းမြစ်ထိန်းချုပ်စနစ် အဖြစ်အသုံးပြုကြသည်ဟု ၂၀၁၄ တွင် ဖြေကြားကြသည်။ ယှဉ်ကြည့်မည်ဆိုလျှင် ၂၀၁၃ တွင် ၃၆.၃%၊ ၂၀၁၂ တွင် ၃၂%သာ ဤသို့ဖြေကြားခဲ့သည်။ ထိုစာရင်းမှ ဂစ်တ်ဟပ်ဘ်(GitHub) အသုံးပြုမှုကို ဖယ်ထုတ်လိုက်လျှင် - ၂၀၁၄ ခုနှစ်တွင် ၃၃.၃%၊ ၂၀၁၃ တွင် ၃၀.၃%၊ ၂၀၁၂ တွင် ၂၇.၆% နှင့် ၂၀၁၁ ခုနှစ်တွင် ၁၂.၈% ဤသို့ဖြေကြားခဲ့သည်။ ရင်းမြစ်မြင် စီမံကိန်းများကို စာရင်းပြုမှတ်တမ်းတင်သော ကုမ္ပဏီတစ်ခုဖြစ်သည့် ဘလက်ခ်ဒတ်ခ်-အိုးပဲန်ဟပ်ဘ်(Black Duck Open Hub)မှလည်း ရင်းမြစ်မြင် စီမံကိန်းများတွင်လည်း အလားတူ အသုံးပြုလာမှုနှုန်းကို တွေ့ရှိကြောင်း တင်ပြသည်။ စတက်ခ်အိုဗာဖလိုး (Stack Overflow) သည် သူတို့၏နှစ်ပတ်လည် ဆော့ဖ်ဝဲရ်တည်ဆောက်သူ စစ်တမ်းတွင် ရင်းမြစ်ထိန်းချုပ်စနစ် အသုံးပြုမှုဆိုင်ရာ မေးခွန်းကိုထည့်သွင်းထားရာ၊ မေးခွန်းဖြေကြားမှု ၂၀၁၅ တွင် (၁၆,၆၉၄ ခု)၊ ၂၀၁၇ တွင် (၃၀,၇၃၀ ခု) နှင့် ၂၀၁၈ တွင် (၇၄,၂၉၈ ခု) ရှိခဲ့သည်။ Git သည် ဤစစ်တမ်းအဖြေများ၌ ဆော့ဖ်ဝဲရ်တည်ဆောက်သူများ၏ အလွန့်အလွန် နှစ်သက်ကြသောစနစ်တစ်ခုဖြစ်ပြီး၊ ၂၀၁၈ ခုနှစ်တွင် ဖြေကြားသူများ၏ ၈၇.၂% အထိ အသုံးပြုမှုနှုန်း မြင့်လာခဲ့သည်။ ဖြေကြားသော ဆော့ဖ်ဝဲရ်တည်ဆောက်သူတို့၏ ရင်းမြစ်ထိန်းချုပ်စနစ် အသုံးပြုနှုန်း ဇယား Name ၂၀၁၅ ၂၀၁၇ ၂၀၁၈ ဂစ်တ်(Git) ၆၉.၃% ၆၉.၂% ၈၇.၂% အပါချီဆ(ဘ်)ဗားရှင်း(Apache Subversion) ၃၆.၉% ၉.၁% ၁၆.၁% Microsoft Team Foundation Server ၁၂.၂% ၇.၃% ၁၀.၉% မကယူရီယယ်(Mercurial) ၇.၉% ၁.၉% ၃.၆% စီဗွီအက်စ် ၄.၂% ပါဖော့စ်(Perforce) ၃.၃% Microsoft Visual SourceSafe ၀.၆% ရာရှင်နယ်ကလီးယားကေ့စ်(Rational ClearCase) ၀.၄% zipဖိုင် မိတ္တူပွား(backup) ၂.၀% ၇.၉% ဖိုင်များကိုကွန်ယက်ဝေစုသို့ကူးယူခြင်းနှင့်ကူးထည့်ခြင်း ၁.၇% ၇.၉% အခြား ၅.၈% ၃.၀% ဘာမှမသုံးပါ ၉.၃% ၄.၈% ၄.၈% ယူကေအိုင်တီအလုပ်အကိုင်ဝက်ဘ်ဆိုက် itjobswatch.co.uk က ၂၀၁၆ စက်တင်ဘာနှောင်းပိုင်းတွင် ယူကေဆော့ဖ်ဝဲရ်တည်ဆောက်မှု အချိန်ပြည့်အလုပ်၏ ၂၉.၂၇% သည် Git ကိုရည်ညွှန်းကြောင်း၊ ၁၂.၁၇ ရာခိုင်နှုန်းသာ Microsoft Team Foundation Server ကိုရည်ညွှန်းကြောင်း၊ ၁၀.၆၀%သာ ဆ(ဘ်)ဗားရှင်း(Apache Subversion) ကိုရည်ညွှန်းကြောင်း၊ ၁.၃၀%သာ မကယူရီယယ်(Mercurial) ကိုရည်ညွှန်းကြောင်း၊ ၀.၄၈%သာ Visual SourceSafe ကိုရည်ညွှန်းကြောင်း ဖော်ပြခဲ့သည်။ မှတ်စု ကိုးကား ကဏ္ဍ:ဆော့ဖ်ဝဲလ် ကဏ္ဍ:ကွန်ပျူတာ အချက်အလက်