What is Git?

Git အကြောင်းကို ကျနော်ဖတ်ထားသလောက် သိထားသလောက်လေး ပြောပြချင်ပါတယ်။အမှားတွေ လိုအပ်ချက်တွေပါဝင်ခဲ့ရင် ပြင်ဆင်ဖြည့်စွက်ပေးကြပါအုံး 😊

## What is Git?

Git ဆိုတာကတော့ Version Control System(VCS) or Revision Control System(RCS) or Source Code Management System(SCM) တစ်မျိုးဖြစ်ပါတယ်။Git အကြောင်းမပြောပြခင် Version Control System ဆိုတာ ဘာလဲပြောပြချင်ပါတယ်။
software developer တွေက project တွေရေးကြတယ်။အဲ့ဒီ project တွေမှာ နောက်ထပ် ပြင်ဆင်ချင်တဲ့ လုပ်ဆောင်မှုတွေ ဖြည့်စွက်ချင်တာတွေလုပ်ပီး version အမျိုးမျိုးနဲ့ သတ်မှတ်ပီး ပြင်ဆင်ရေးသားကြတယ်။အဲ့လိုပြင်ဆင်ရင်းနဲ့ မမျှော်လင့်ပဲ error တွေ bugs တွေဖြစ်ပေါ်လာတဲ့အခါ software project ကြီးက လုပ်မလုပ်တော့တာမျိုးကြုံတွေ့ရပါတယ်။ဟိုးအရင် VCS တွေပေါ်မလာခင်က အဲ့လိုမျိုးတွေရှောင်ရှားကြဖို့အတွက် မူရင်းအလုပ်လုပ်နေတဲ့ project ကို နောက်ထပ် folder တစ်ခုအနေနဲ့ copy ကူးပီး version တစ်ခုအနေနဲ့သတ်မှတ်ကာ backup လုပ်ထားကြပါတယ်။ပီးမှပြင်ဆင်ချင်တာတွေ ထပ်ဖြည့်ချင်တာတွေကို လုပ်ဆောင်ကြပါတယ်။အဲ့ဒီတော့ပြင်ဆင်ရင်းနဲ့ အမှားတွေဖြစ် error တွေပေါ်လာတဲ့အခါ backup ဆွဲထားပီးသားဖြစ်တဲ့အတွက် မှုစရာမလိုတော့ပါဘူး။ဒါပေမယ့် ဒါဟာရေရှည်အတွက်အဆင်မပြေကြပါဘူး ဘာဖြစ်လို့ လဲဆိုတော့ copy ကူးထားတဲ့ folder တွေတစ်ဖြည်းဖြည်းနဲ့များလာတဲ့အခါ ဘယ်ဟာကတော့ဘယ်လိုပြင်ဆင်မှုတွေလုပ်ထားတယ် ဘယ် folder ကတော့ ဘယ်လို ဖြည့်စွက်ချက်တွေလုပ်ထားတယ်ဆိုတာ သေချာမှတ်မထားနိုင်တော့ပါဘူး folder တွေများလာတဲ့အခါ အကုန်ရှုပ်ကုန်ပါတယ်။အဲ့အတွက်ကြောင့် Version Control System တွေကိုဖန်တီးခဲ့ကြပါတယ်။အရင်ကလို source code တွေကိုပြင် version နာမည်တွေပေးပီး copy ကူးတာမျိုးကို လုပ်စရာမလိုတော့အောင် VCS တွေက ကူညီပေးပါတယ်။
VCS နှစ်မျိုးရှိပါတယ်။Centralized Version Control System(CVCS) နဲ့ Distributed Version Control System(DVCS) တို့ဖြစ်ပါတယ်။CVCS တွေမှာကတော့ centralized ဆိုတဲ့အတိုင်း source code တွေရဲ့ version မှတ်တမ်းတွေကို central server ပေါ်မှာသိမ်းဆည်းထားပါတယ်။programmer တွေက အဲ့ဒီ server နဲ့ချိတ်ဆက်ပီး software version မှတ်တမ်းတွေကိုရယူ ပြင်ဆင်ပီး အဲ့ဒီ central server ဆီကိုပဲ ပြင်ဆင်ချက်တွေကို ပြန်လည်ပေးပို့ကြရပါတယ်။ဥပမာ-version 1.0.0 မှာကတော့ navigation bar လေးက မလှဘူးပြင်ချင်တယ် ဆိုရင် programmer တစ်ယောက်က server ပေါ်ကနေ source codeတွေကို ပြင်လိုက်မယ် ပီးရင် ပြင်ဆင်ချက်တွေကို server ပေါ်ကိုပြန်လည်ပေးပို့လိုက်ပီး မှတ်တမ်းတစ်ခုအနေနဲ့သိမ်းဆည်းလိုက်ပါတယ် version 1.0.1 ဆိုပီးတော့ပေါ့။ပီးတော့ ဘာတွေပြင်ဆင်လိုက်ပါတယ် ဆိုပီးမှတ်ချက်လေးတွေပါတစ်ခါတည်းတွဲမှတ်ပေးလိုက်ပါတယ်။ဒါပေမယ့် အဆင်မပြေဘူး အမှားတွေပါနေတယ် code က မ run နိုင်တော့ဘူးဆိုရင်လည်း ကိစ္စမရှိပါဘူး server ပေါ်မှာအရင် အလုပ်လုပ်ပီးသား software project ရဲ့ version ကိုမှတ်တမ်းတင်သိမ်းဆည်းထားတဲ့အတွက် ပြန်လည် restore လုပ်ယူနိုင်ပါတယ်။ဒါပေမယ့် CVCS တွေမှာ source code တွေက central server တွေပေါ်မှာပဲသိမ်းဆည်းထားတဲ့အတွက် အကြောင်းတစ်ခုခုကြောင့် server ကြီး down သွားတဲ့အခါမျိုး server ရဲ့ storage တွေပျက်စီးသွားတဲ့အခါမျိုးမှာ ကိုယ့်ရဲ့ project version တွေဆုံးရှုံးနိုင်ပါတယ်။DVCS တွေမှာကတော့ source code version မှတ်တမ်းတွေကို central server ပေါ်မှာသာမက ကိုယ့်ရဲ့ local computer ထဲကိုပါ repository ကြီးတစ်ခုလုံးကို clone ပွားယူပီးပြင်ဆင်နိုင်ပါတယ်။ပီးတော့ပြင်ဆင်ပီးသား source code တွေကိုလည်း server ပေါ်ကို တိုက်ရိုက်မပေးပို့သေးပဲကိုယ့်ရဲ့ local repository ထဲမှာတင် commit လုပ်ပီး သိမ်းဆည်းထားနိုင်ပါတယ်။အဲ့အတွက်ကြောင့် central server ကြီးက failure ဖြစ်သွားလို့ source code တွေဆုံးရှုံးမှု မဖြစ်တောပါဘူး။CVCS တွေနဲ့ DVCS တွေရဲ့အလုပ်လုပ်ပုံကတော့ အကုန်နီးပါတူညီကြပါတယ်။ဘယ်နေ့ ဘယ်အချိန်မှာ ဘယ်သူက ဘာတွေပြင်ဆင်ထားလဲဆိုတာကို အတိအကျ မှတ်တမ်းတင်ထားနိုင်တယ် မှားယွင်းပြင်ဆင်မိတာတွေဖြစ်တဲ့အခါမှာလည်း source code တွေကို မူလအခြေနေအတိုင်း ပြန်လည် restor လုပ်နိုင်ပါတယ်။အမှန်ကတော့ source code တွေတင်သာမက အခြား file တွေ office documents တွေ image file တွေအတွက်ပါအသုံးဝင်ပါတယ်။Git ကတော့ DVCS အမျိုးအစားတစ်ခုပါ။
Git ကို 2005 ခုနှစ်မှာ Linux Operating System ရဲ့ kernel ကိုဖန်တီးခဲ့သူ Linus Torvald က ရေးသားခဲ့ပါတယ်။မည်သူမဆိုအခကြေးငွေပေးစရာမလိုပဲ လွတ်လွတ်လပ်သုံးစွဲနိုင်တဲ့ free and open source software တစ်ခုဖြစ်ပါတယ်။
Git ကိုအသုံးပြုမယ်ဆိုရင် command line ကနေအသုံးပြုလို့ရသလို GUI ကနေလည်းအသုံးပြုလို့ရပါတယ်။
Git ကို သက်ဆိုင်ရာ Operating System install လုပ်နည်းတွေကိုတော့ အောက်ပါ link မှာကြည့်ရှုနိုင်ပါတယ်

https://git-scm.com/book/en/v2/Getting-Started-Installing-Git

Git ကိုအသုံးပြုပုံတွေကိုတော့ ဆရာအိမောင်ပြောပြပေးထားတဲ့ အောက်ပါ video တွေမှာလေ့လာနိုင်ပါတယ်။ဆရာ အိမောင်ကိုလည်း credit ပေးပါတယ်ခင်ဗျ

Git tutorial part 1
https://m.facebook.com/story.php?story_fbid=10155295368772328&id=564487327

Git tutorial part 2
https://m.facebook.com/story.php?story_fbid=10155296307857328&id=564487327

Comments

Sign In or Register to comment.