Introduction Git & GitHub

Git & GitHub Beginner to Advanced

အပိုင်း ၁: Git ဆိုတာ ဘာလဲ? GitHub ကရော ဘာလဲ?

မင်္ဂလာပါ။ Git နဲ့ GitHub အကြောင်း လေ့လာဖို့ စိတ်ဝင်စားလို့ ဒီ Content Series ကို ဖတ်နေတယ်ဆိုရင် မင်းဟာ မှန်ကန်တဲ့ နေရာကို ရောက်နေပြီပဲ။ ဒီအပိုင်းမှာ Git ဆိုတာ ဘာလဲ၊ GitHub ကရော ဘာအတွက် လိုအပ်တာလဲ ဆိုတာကို အခြေခံကစပြီး သေချာရှင်းပြပေးမယ်။ ဘာမှ မသိသေးဘူးလို့ စိတ်ပူမနေပါနဲ့၊ ငါတို့ တစ်ဆင့်ချင်း အတူလေ့လာသွားမှာပါ။

Version Control ဆိုတာ ဘာကို ဆိုလိုတာလဲ?

Git နဲ့ GitHub ကို မပြောခင်၊ သူတို့နဲ့ ဆက်စပ်နေတဲ့ အဓိက အယူအဆတစ်ခုဖြစ်တဲ့ Version Control ဆိုတာကို အရင်နားလည်အောင် ရှင်းပြပေးမယ်။ Version Control ဆိုတာက မင်းရဲ့ အလုပ်တွေ၊ ဖိုင်တွေ၊ ဒါမှမဟုတ် ကုဒ်တွေရဲ့ အပြောင်းအလဲတွေကို မှတ်တမ်းတင်ပြီး စီမံခန့်ခွဲပေးတဲ့ နည်းလမ်းတစ်ခု လို့ မြင်လို့ရတယ်။ ဒီစကားလုံးကြီးကို ကြားတာနဲ့ ရှုပ်ထွေးတယ်လို့ ထင်သွားရင် စိတ်အေးအေးထားပါ။ နေ့စဉ်ဘဝထဲက ဥပမာလေးတွေနဲ့ ရှင်းပြမယ်။

ဥပမာ ၁: စာတစ်ပုဒ် ရေးတဲ့အခါ
မင်း ကျောင်းမှာ တင်ရမယ့် စာစီစာကုံးတစ်ပုဒ် ရေးနေတယ်ဆိုပါစို့။ ပထမဆုံး မူကြမ်းကို ရေးပြီးသွားတယ်။ ပြီးတော့ အပိုဒ်တစ်ခုကို ပြင်ချင်လာပေမယ့် မူရင်းကို မပျက်စီးစေချင်ဘူး။ ဒါကြောင့် စာရွက်ကို ကော်ပီတစ်ခါ ကူးပြီး အဲဒီကူးထားတဲ့ စာရွက်မှာ ပြင်လိုက်တယ်။ နောက်ထပ် စိတ်ကူးရလာလို့ ထပ်ကူးပြီး ထပ်ပြင်တယ်။ ဒီလိုနဲ့ စာရွက် သုံးရွက်၊ လေးရွက် ဖြစ်လာတယ်။ အရင်ဗားရှင်းကို ပြန်လိုချင်ရင် ပထမဆုံး ကူးထားတာကို ပြန်ရှာပြီး ယူသုံးတယ်။ Version Control က ဒီလိုမျိုး လုပ်ပေးတာပဲ—ဒါပေမယ့် စာရွက်တွေ ကူးနေစရာမလိုဘဲ ကွန်ပျူတာထဲမှာ အလိုအလျောက် မှတ်တမ်းတင်ပေးတယ်။

ဥပမာ ၂: ဓာတ်ပုံတစ်ပုံ ပြင်ဆင်တဲ့အခါ
မင်း ဓာတ်ပုံတစ်ပုံကို ပြင်နေတယ်ဆိုပါစို့။ အရောင်တွေ ပြောင်းကြည့်တယ်၊ နောက်ခံကို ဖျက်ကြည့်တယ်။ ဒါပေမယ့် ပြင်ပြီးတဲ့အခါ မူရင်းကို ပိုကြိုက်သွားတယ်လို့ ထင်လာတယ်။ ဒီလိုဆိုရင် မူရင်းကို မဖျက်မိအောင် “Save As” နဲ့ ဖိုင်အသစ်တွေ သိမ်းတတ်တယ်—ဥပမာ “photo_v1.jpg”, “photo_v2.jpg” ဆိုပြီး။ ဒါပေမယ့် ဖိုင်တွေ ရှုပ်လာနိုင်တယ်။ Version Control က ဒီလိုအခါမှာ ဖိုင်တစ်ခုချင်း သိမ်းစရာမလိုဘဲ၊ အပြောင်းအလဲတွေကို တစ်နေရာထဲမှာ စနစ်တကျ မှတ်တမ်းတင်ပြီး လိုတဲ့အခါ ပြန်ယူသုံးလို့ရအောင် လုပ်ပေးတယ်။

ဥပမာ ၃: ဂိမ်းတစ်ခုရဲ့ သိမ်းထားတဲ့ မှတ်တမ်း
မင်း ဂိမ်းကစားနေရင်း အဆင့်တစ်ခုကို ကျော်ပြီးတိုင်း “Save” လုပ်ထားတယ်။ နောက်ပိုင်း အဆင့်တစ်ခုမှာ မတက်နိုင်လို့ အရင် သိမ်းထားတဲ့ နေရာကို ပြန်သွားချင်တယ်။ ဂိမ်းက “Load Game” ဆိုတဲ့ ရွေးချယ်မှုနဲ့ အရင် Save Point ကို ပြန်သွားလို့ရတယ်။ Version Control ကလည်း ဒီလိုပဲ—မင်းရဲ့ အလုပ်ကို တစ်ဆင့်ချင်း သိမ်းပြီး၊ လိုအပ်တဲ့အခါ အရင်အဆင့်ကို ပြန်ယူသုံးလို့ရတယ်။

Version Control ဘာကြောင့် လိုအပ်တာလဲ?

  • အမှားတွေ ပြန်ပြင်လို့ရတယ်: တစ်ခုခု မှားသွားရင် အရင်ဗားရှင်းကို ပြန်သွားလို့ရတယ်။
  • အပြောင်းအလဲတွေကို ခြေရာခံလို့ရတယ်: ဘယ်အချိန်မှာ ဘာပြောင်းခဲ့လဲ သိနိုင်တယ်။
  • တပြိုင်နက် အလုပ်လုပ်လို့ရတယ်: လူများများနဲ့ တူတူလုပ်တဲ့အခါ အပြောင်းအလဲတွေကို ပေါင်းစည်းလို့ရတယ်။

Git ဆိုတာ ဘာလဲ?

Version Control ဆိုတာကို နားလည်သွားပြီဆိုရင်၊ Git ဆိုတာက ဘာလဲဆိုတာ ပိုပြီး လွယ်လွယ်နဲ့ နားလည်လာလိမ့်မယ်။ Git ဆိုတာက Version Control System (VCS) တစ်ခုပါ။ အလွယ်ပြောရရင် Git က မင်းရဲ့ ဖိုင်တွေ၊ ကုဒ်တွေ၊ စာတွေရဲ့ အပြောင်းအလဲတွေကို မှတ်တမ်းတင်ပြီး စီမံပေးတဲ့ ကိရိယာတစ်ခုပဲ။ ဒါကို ကွန်ပျူတာထဲမှာ ထည့်ပြီး သုံးရတယ်။

Git က ဘယ်လိုအလုပ်လုပ်သလဲဆိုတာကို ဥပမာနဲ့ ပြန်ကြည့်ရအောင်။ မင်း စာအုပ်တစ်အုပ် ရေးနေတယ်ဆိုပါစို့။ အခန်းတစ်ခန်း ရေးပြီးတိုင်း အဲဒီအခန်းကို မှတ်စုစာအုပ်ထဲမှာ ချရေးပြီး သိမ်းထားတယ်။ နောက်တစ်ခန်း ထပ်ရေးတယ်၊ ပြီးရင် ထပ်သိမ်းတယ်။ တစ်ခါတလေ အရင်အခန်းကို ပြန်ကြည့်ပြီး ပြင်ချင်ရင် အရင်သိမ်းထားတဲ့ မှတ်စုကို ပြန်ယူသုံးတယ်။ Git က ဒီလိုမျိုး အလုပ်လုပ်တယ်။ မင်း ဖိုင်တစ်ခုကို ပြင်ပြီး “commit” လုပ်လိုက်တိုင်း၊ Git က အဲဒီ အပြောင်းအလဲကို သိမ်းပြီး မှတ်တမ်းတင်ထားတယ်။ နောက်တစ်ခါ ထပ်ပြင်ပြီး commit လုပ်ရင် အသစ်တစ်ခုအနေနဲ့ ထပ်သိမ်းတယ်။ ဒီလိုနဲ့ မင်းရဲ့ အလုပ်ရဲ့ ဗားရှင်းတွေ (ဥပမာ၊ ဗားရှင်း ၁၊ ဗားရှင်း ၂) ကို စနစ်တကျ သိမ်းပေးတယ်။

Git ကို ဆော့ဖ်ဝဲရေးတဲ့သူတွေ (Developers) က အများကြီး သုံးကြတယ်။ ဘာလို့လဲဆိုတော့ တစ်ယောက်တည်း ရေးတာပဲဖြစ်ဖြစ်၊ အဖွဲ့နဲ့ အတူတူ လုပ်တာပဲဖြစ်ဖြစ်၊ Git က အပြောင်းအလဲတွေကို မှတ်တမ်းတင်ပြီး စီမံပေးလို့ အဆင်ပြေတာကြောင့်ပါ။ ဥပမာ၊ မင်း ကုဒ်တစ်ခု ရေးနေရင်း အမှားတစ်ခု ဖြစ်သွားတယ်၊ Git သုံးထားရင် အမှားမဖြစ်ခင် ဗားရှင်းကို ပြန်သွားပြီး ပြန်စလို့ရတယ်။

GitHub ဆိုတာ ဘာလဲ?

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

GitHub ကို ဥပမာနဲ့ ရှင်းကြည့်ရအောင်။ Git က မင်းရဲ့ စာရွက်တွေကို သိမ်းပြီး မှတ်တမ်းတင်ပေးတဲ့ စားပွဲတင် အံဆွဲတစ်ခုလို့ မြင်ကြည့်။ GitHub ကတော့ အဲဒီ စာရွက်တွေကို အင်တာနက်ပေါ်မှာ သိမ်းထားပြီး၊ မင်းလိုချင်တဲ့ သူငယ်ချင်းတွေ၊ အဖွဲ့သားတွေနဲ့ အလွယ်တကူ မျှဝေလို့ရတဲ့ စာကြည့်တိုက်တစ်ခုလိုပဲ။ GitHub မှာ မင်းရဲ့ ဖိုင်တွေ၊ ကုဒ်တွေကို Repository (သိုလှောင်ရာ နေရာတစ်ခု) အနေနဲ့ တင်ထားလို့ရတယ်။ အဲဒီမှာ တင်ထားပြီးရင် တခြားသူတွေက လာကြည့်လို့ရတယ်၊ အတူတူ ပြင်လို့ရတယ်၊ ဒါမှမဟုတ် သူတို့ရဲ့ ပရောဂျက်မှာ သုံးဖို့ ကူးယူသွားလို့လည်း ရတယ်။

Git က မင်းရဲ့ ကွန်ပျူတာထဲမှာ အလုပ်လုပ်တယ် (Local)၊ GitHub ကတော့ အင်တာနက်ပေါ်မှာ ရှိတယ် (Remote)။ ဒါကြောင့် GitHub က Git မပါရင် အလုပ်မလုပ်နိုင်ဘူး။ ဒါပေမယ့် GitHub က Git ကို ပိုပြီး အသုံးဝင်အောင်၊ အဖွဲ့လိုက် အလုပ်လုပ်ဖို့ လွယ်အောင် ကူညီပေးတယ်။

Git နဲ့ GitHub ဘယ်လို ကွာခြားလဲ?

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

ဥပမာအနေနဲ့ ပြောရရင် Git က မင်းရဲ့ မှတ်စုစာအုပ်တစ်အုပ်လိုပဲ၊ မင်း တစ်ယောက်တည်း ရေးပြီး သိမ်းထားလို့ရတယ်။ GitHub ကတော့ အဲဒီ မှတ်စုစာအုပ်ကို စာကြည့်တိုက်မှာ တင်ထားပြီး သူငယ်ချင်းတွေကို ဖတ်ခွင့်၊ ပြင်ခွင့်ပေးထားသလိုပဲ။

ဘာကြောင့် Git နဲ့ GitHub ကို လေ့လာသင့်လဲ?

မင်း ဆော့ဖ်ဝဲရေးတတ်ချင်တယ်၊ ဒါမှမဟုတ် ပရောဂျက်တွေ စီမံချင်တယ်ဆိုရင် Git နဲ့ GitHub က မရှိမဖြစ် ကိရိယာတွေပါ။ ဒါတွေကို သုံးတတ်ရင် မင်းရဲ့ အလုပ်တွေကို စနစ်တကျ သိမ်းလို့ရတယ်၊ အမှားတွေကို ပြန်ပြင်လို့ရတယ်၊ တခြားသူတွေနဲ့ အလွယ်တကူ အတူလုပ်လို့ရတယ်။ ဥပမာ၊ နာမည်ကြီး အက်ပ်တွေ၊ ဝက်ဘ်ဆိုက်တွေဆိုရင် Developer အများကြီးက Git နဲ့ GitHub ကို သုံးပြီး အတူတူ ဖန်တီးထားတာပဲ။


Aung Ko Ko Oo
T4B Co., Ltd.
(Zero Layer Team)

Scroll to Top