Skip to content
GitHub

ဘာလို့ Git ကို လိုအပ်တာလဲ

ကျွန်တော်တို့ Code တွေ ရေးတဲ့အခါ၊ Project တွေ လုပ်တဲ့အခါမှာ စစချင်းတော့ အားလုံး အဆင်ပြေနေတာပေါ့။ ဒါပေမဲ့ Project က တဖြည်းဖြည်း ကြီးလာတာနဲ့အမျှ၊ ဒါမှမဟုတ် တခြားသူတွေနဲ့ အတူတူ လုပ်ရတဲ့အခါကျရင်တော့ ပြဿနာတွေ စပေါ်လာပါပြီ။

Git မသုံးခင် ကြုံရတာတွေ

Section titled “Git မသုံးခင် ကြုံရတာတွေ”
  • ကိုယ်ရေးနေတဲ့ Code ဖိုင်တွေ၊ Document ဖိုင်တွေကို ဘယ်နှစ်ကြိမ်များ နာမည်မျိုးစုံနဲ့ Save လုပ်ဖူးကြလဲ? report_draft1.docx, report_draft2_final.docx, report_final_really_final.docx, ပြီးတော့ နောက်ဆုံး report_REALLY_final_Johns_edits_v3_USE_THIS_ONE.docx လိုမျိုးပေါ့။ Code တွေနဲ့ဆို ပိုဆိုးသေး။ ဖိုင်တွေက ရာနဲ့ချီ ရှိလာနိုင်တယ်။ တစ်ခုခု ပြောင်းလိုက်တယ်ဆိုတာနဲ့ Version အသစ်ဆိုပြီး ထပ် Save ရတယ်။ မကြာခင်မှာ ကိုယ့် Project Folder ထဲက ဖိုင်နာမည်တွေက ဘယ်ဟာက ဘယ်ဟာမှန်း မသိအောင် ရှုပ်ယှက်ခတ်နေတော့တာပါပဲ။ ဘယ်ဟာက နောက်ဆုံး Revision လဲ၊ ဘယ်ဟာက အဆင်ပြေနေတဲ့ Code လဲ၊ ကိုယ့်အဖွဲ့သားက ဘယ်ဟာကို ကြည့်နေလဲဆိုတာ သိဖို့ တော်တော် ခက်လာတယ်။ ဒါဟာ အလုပ်တွေ မှားယွင်းတာ၊ ပျောက်ဆုံးတာ၊ ပြီးတော့ တကယ်ကို ခေါင်းခဲစေပါတယ်။
confusing with file names
  • ပြီးတော့ ဒီလိုမျိုးလည်း ဖြစ်ဖူးကြမှာပါ။ လွန်ခဲ့တဲ့ ရက်သတ္တပတ်က ရေးခဲ့တဲ့ Code လေးက ကောင်းကောင်း အလုပ်လုပ်နေတာ။ အခု တခြား ပြောင်းလဲမှုတွေ လုပ်လိုက်တော့ အဲဒီ Code က ပျက်သွားတာ ဒါမှမဟုတ် ပျောက်သွားတာမျိုး ဖြစ်တတ်တယ်။ အရင် Version တွေကို ပြန်လိုက်ရှာရ၊ Copy Paste လုပ်ရနဲ့ အချိန်တွေ အများကြီး ကုန်ရတယ်။ ကိုယ့်ဘာသာ လုပ်ထားတဲ့ ရှုပ်ပွနေတဲ့အရာတွေကြားထဲမှာ လိုအပ်တာလေးတစ်ခုကို ပြန်ရှာနေရတာနဲ့ တူပါတယ်။

  • နောက်တစ်ခုက ကိုယ့် Project က အခု အဆင်ပြေနေပြီဆိုတဲ့ အခြေအနေမျိုးပေါ့။ ဒါပေမဲ့ အရေးကြီးတဲ့ Feature အသစ်တစ်ခု ထပ်ထည့်ရမယ် ဒါမှမဟုတ် Code တွေကို အကြီးအကျယ် ပြန်ပြင်ရမယ်ဆိုရင် တကယ်ကို ကြောက်ရတယ်။ ‘ငါ အကုန်လုံးကို ပျက်စီးသွားအောင် လုပ်မိမလား? အခုလို အခြေအနေကောင်းကို ပြန်မရတော့ဘူးဘူးလား?’ ဒီကြောက်ရွံ့စိတ်က ကိုယ့်ကို အသစ်တွေ မလုပ်ရဲအောင် တားဆီးထားနိုင်ပြီး အလုပ်တွေ နှေးကွေးစေပါတယ်။

အဖွဲ့လိုက် အလုပ်လုပ်တဲ့အခါ ဖြစ်တတ်တဲ့ ပြဿနာတွေ

Section titled “အဖွဲ့လိုက် အလုပ်လုပ်တဲ့အခါ ဖြစ်တတ်တဲ့ ပြဿနာတွေ”

အဖွဲ့လိုက် အလုပ်လုပ်တဲ့အခါဆို ပိုပြီး ဆိုးပါတယ်။ တစ်ယောက်က ဖိုင်တစ်ခုကို Download လုပ်ပြီး ပြင်တယ်။ တခြားတစ်ယောက်ကလည်း အတူတူပဲ Download လုပ်ပြီး ပြင်တယ်။ တစ်ယောက်က ပြင်ထားတာကို ပြန်ထည့်လိုက်တော့ နောက်တစ်ယောက် ပြင်ထားတာတွေ ပျောက်သွားတာမျိုး ဖြစ်တတ်တယ်။ ဒါမှမဟုတ် မနက်ကျ Project ကို ဖွင့်လိုက်တော့ တစ်ခုခု ပျက်နေတယ်။ ကိုယ်က မထိဘူးဆိုတာ သိတယ်။ ဒါဆို ဘယ်သူ ပြောင်းလိုက်တာလဲ? ဘယ်အချိန်လဲ? ဘာလို့လဲ? မှတ်တမ်းမှတ်ရာ ဘာမှ မရှိဘဲ ဘယ်သူလုပ်တာလဲဆိုပြီး ရှာရတာ၊ တစ်ယောက်နဲ့တစ်ယောက် နားလည်မှု လွဲတာတွေ ဖြစ်တတ်ပါတယ်။

ကယ်တင်ရှင် ရောက်လာပြီ: Version Control စနစ်များ!

Section titled “ကယ်တင်ရှင် ရောက်လာပြီ: Version Control စနစ်များ!”

ဒါကြောင့် ဒီလို ပြဿနာတွေအားလုံးကို ဖြေရှင်းပေးဖို့အတွက် ကျွန်တော်တို့မှာ Version Control System လို့ခေါ်တဲ့ စနစ်တစ်ခု လိုအပ်လာတာပါ။ အတိုကောက်အားဖြင့် VCS လို့ ခေါ်ပါတယ်။

VCS ကို ကိုယ်အကြိုက်ဆုံး ဗီဒီယိုဂိမ်းရဲ့ “Save Game” စနစ်နဲ့ တူတယ်လို့ စဥ်းစားကြည့်ပါ။ Project မှာ အရေးကြီးတဲ့ အဆင့်ရောက်ပြီဆိုရင် ကျွန်တော်တို့ Game ကို Save လုပ်သလိုမျိုး Project ကို Save လုပ်လို့ရတယ်။ Git လို VCS ကတော့ ဒါထက် ပိုကောင်းတယ်။ ဘယ်နှစ်ကြိမ်မဆို Save လို့ရတယ် (Git မှာ Committing လုပ်တယ်လို့ ခေါ်တယ်)။ Save တိုင်းမှာ ဘာတွေ လုပ်ခဲ့လဲဆိုတာ မှတ်စု ရေးထားလို့ရတယ်။ မှားသွားရင် အရင် Save ထားတဲ့ အချိန် ဘယ်အချိန်မဆို ပြန်သွားလို့ရတယ်။ Game ရဲ့ ဇာတ်လမ်းကို မပျက်စေဘဲ တခြားနည်းလမ်း စမ်းကြည့်သလိုမျိုး Project ရဲ့ Code ကိုလည်း လမ်းကြောင်းခွဲပြီး (Branching) စမ်းသပ်လို့ရပါတယ်။

“ဒါကြောင့် VCS ဆိုတာ ဖိုင်တွေကို Backup ထားတာတင် မဟုတ်ဘဲ ကိုယ့် Project ဘယ်လို စတင်လာလဲ၊ ဘယ်လို တဖြည်းဖြည်း ပြောင်းလဲတိုးတက်လာလဲဆိုတဲ့ ဇာတ်လမ်းတစ်ခုလုံးကို မှတ်တမ်းတင်ထားတာပါ။ ဒါက ကိုယ့်အလုပ်တွေကို နားလည်ဖို့၊ ဘယ်သူ ဘာလုပ်လဲ သိဖို့၊ အမှားရှာတာ ပိုလွယ်ဖို့၊ ပြီးတော့ စိတ်ချလက်ချ လုပ်နိုင်ဖို့ အများကြီး ကူညီပေးပါတယ်။“

ဘာလို့ Git ကိုပဲ ရွေးချယ်သင့်တာလဲ? သူက ဘာလို့ အကောင်းဆုံးလဲ။

Section titled “ဘာလို့ Git ကိုပဲ ရွေးချယ်သင့်တာလဲ? သူက ဘာလို့ အကောင်းဆုံးလဲ။”

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

Git connect

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

Git နဲ့ Online မှာ အလုပ်တွေ ထားတဲ့ နေရာတွေ ကွာခြားပုံ

Section titled “Git နဲ့ Online မှာ အလုပ်တွေ ထားတဲ့ နေရာတွေ ကွာခြားပုံ”

ဒီနေရာမှာ တစ်ခု ရှင်းပြချင်တာက Git နဲ့ GitHub, GitLab, Bitbucket လို Service တွေ ကွာခြားပုံပါ။ ဒါက စစချင်း လေ့လာသူတွေအတွက် တော်တော်လေး ရှုပ်ထွေးတတ်တယ်။ ရိုးရိုးလေးပြောရရင် Git က ကိရိယာပါ။ ကိုယ့် ကွန်ပျူတာထဲမှာ Code တွေရဲ့ ပြောင်းလဲမှုတွေကို ထိန်းချုပ်ပေးတဲ့ Software ပေါ့။

Git & GitHub

ရှင်းရှင်းလင်းလင်း မြင်သာအောင် ပြောရရင် ကိုယ့် ကွန်ပျူတာထဲမှာ Git ကို သုံးပြီး အလုပ်လုပ်တယ်။ ပြီးတော့ အဲဒီအလုပ်တွေကို Online က GitHub လို နေရာမျိုးမှာ တင်ထားတာ/သိမ်းထားတာမျိုးပါ။