လွယ်လွယ်ပြောရရင် Git command ဆိုတာ Git ကို ခိုင်းတဲ့စကားပဲ။ Terminal ထဲမှာ git လို့ စရေးလိုက်တာနဲ့ နောက်က လိုက်တဲ့စကားလုံးက “ဒါလုပ်” လို့ ညွှန်ကြားတာ။
TV remote နဲ့ ဥပမာပေးမယ်။ Remote မှာ ခလုတ် ၅၀ လောက်ပါတယ် — ဒါပေမယ့် တကယ်နေ့တိုင်း နှိပ်နေတာ power၊ အသံအတိုးအလျော့၊ channel ပြောင်း… ဒီ ၅-၆ ခုပဲ။ ကျန်တဲ့ခလုတ်တွေ ဘာလုပ်မှန်းတောင် မသိဘူး၊ မလိုလည်းမလိုဘူး။ Git လည်း အတူတူပဲ။ Command ရာချီရှိတယ်၊ ဒါပေမယ့် developer တွေ နေ့တိုင်းသုံးနေတာ ဒီ ၁၀ ခုပဲ။ ဒီ ၁၀ ခု သိရင် အလုပ်ဖြစ်ပြီ။
ကျွန်တော် ဥပမာအနေနဲ့ my-first-app ဆိုတဲ့ project တစ်ခုနဲ့ ရှင်းမယ်။ Terminal ထဲမှာ ဒီတိုင်း လိုက်လုပ်ကြည့်လို့ရတယ်။
1. git init — အခန်းအသစ် ဖွင့်တာ
Folder တစ်ခုကို Git project အဖြစ် စတင်တာ။ ဒီ folder ထဲမှာ Git က မှတ်တမ်းစတင်လိုက်ပြီ ဆိုတဲ့သဘော။
cd my-first-app
git init
တစ်ခါပဲ လုပ်ရတယ်။ နောက်ပိုင်း ဒီ folder ထဲက ပြောင်းလဲမှုမှန်သမျှ Git က လိုက်မှတ်တော့မယ်။
2. git clone — သူများရေးထားတာ ဆွဲချတာ
GitHub ပေါ်က project တစ်ခုကို ကိုယ့်စက်ထဲ ကူးချတာ။ ဥပမာ သူငယ်ချင်းတစ်ယောက် GitHub မှာ တင်ထားတဲ့ code ကို ကိုယ်ယူသုံးချင်ရင် —
git clone https://github.com/someone/cool-project.git
URL ကို copy ကူးပြီး clone လုပ်လိုက်ရုံပဲ။ Folder အသစ်တစ်ခု အလိုအလျောက် ပေါ်လာလိမ့်မယ်။
3. git status — လက်ရှိအခြေအနေ စစ်တာ
အရေးအကြီးဆုံး command တွေထဲက တစ်ခု။ ဘာပြောင်းလဲထားလဲ၊ ဘာတွေ save မလုပ်ရသေးလဲ ပြပေးတယ်။
git status
တစ်ခုခု မသေချာတိုင်း ဒါကို ရိုက်ကြည့်။ Git က “ဒီ file တွေ ပြောင်းထားတယ်၊ ဒါတွေ မမှတ်ရသေးဘူး” လို့ ပြောပြလိမ့်မယ်။
4. git add — save လုပ်မယ့် file တွေ ရွေးတာ
ပြောင်းထားတဲ့ file တွေထဲက ဘယ် file ကို save point ထဲ ထည့်မလဲဆိုတာ ရွေးတာ။
git add index.html
git add .
git add . ဆိုတာ “အကုန်လုံး ရွေး” လို့ ပြောတာ။ အစပိုင်းတော့ ဒါနဲ့ အဆင်ပြေတယ်။
5. git commit -m “…” — save point ရိုက်တာ
ရွေးထားတဲ့ file တွေကို တကယ် save လုပ်တာ။ -m နောက်က စာက ဒီ save point ရဲ့ မှတ်ချက် — “ဒီအခြေအနေမှာ ဘာလုပ်ခဲ့လဲ” ဆိုတာ။
git commit -m "Add homepage layout"
Commit message ကို ရှင်းရှင်းရေးပါ။ “fix stuff” “update” လို့ ရေးထားရင် တစ်လအကြာမှာ ကိုယ်ကိုယ်တိုင် ဘာလုပ်ခဲ့မှန်း မမှတ်မိတော့ဘူး။
6. git log — မှတ်တမ်းပြန်ကြည့်တာ
အရင် save point တွေရဲ့ စာရင်း။ ဘယ်တုန်းက ဘာလုပ်ခဲ့လဲ ပြန်ကြည့်လို့ရတယ်။
git log --oneline
--oneline ထည့်လိုက်ရင် တစ်ကြောင်းစီနဲ့ ရှင်းရှင်း မြင်ရတယ်။
7. git branch — လမ်းကြောင်းခွဲတာ
အဓိက code ကို မထိဘဲ စမ်းသပ်လမ်းကြောင်း ခွဲတာ။ ဂိမ်းမှာ save သပ်သပ် ခွဲထားသလိုပဲ — မှားသွားရင် အဓိကကို မထိဘူး။
git branch new-feature
8. git switch — လမ်းကြောင်းပြောင်းတာ
ခွဲထားတဲ့ branch တွေကြား ကူးပြောင်းတာ။ အရင်က git checkout သုံးတယ်၊ အခု git switch က ပိုရှင်းတယ်။
git switch new-feature
9. git push — cloud ပေါ် တင်တာ
ကိုယ့်စက်ထဲက save point တွေကို GitHub ပေါ် တင်တာ။ ဒါမှ သူများမြင်ရမယ်၊ backup လည်း ရမယ်။
git push origin main
10. git pull — အသစ်တွေ ပြန်ဆွဲချတာ
GitHub ပေါ်က အသစ်ပြောင်းလဲမှုတွေကို ကိုယ့်စက်ထဲ ပြန်ဆွဲချတာ။ အသင်းနဲ့တွဲလုပ်ရင် မနက်တိုင်း ဒါနဲ့ စတာ။
git pull origin main
တစ်နေ့တာ workflow
ဒီ ၁၀ ခုနဲ့ တကယ့်အလုပ်လုပ်ပုံက ဒီလိုပဲ —
- မနက်ရောက်ရင်
git pull— သူများလုပ်ထားတာ အရင်ဆွဲချ - code ရေး →
git statusနဲ့ စစ် →git add .→git commit -m "ဘာလုပ်ခဲ့လဲ ရှင်းရှင်းရေးထား" - ပြီးရင်
git push— GitHub ပေါ်တင်
ဒါပါပဲ။ နေ့တိုင်း ဒီစက်ဝိုင်းပဲ လည်နေတာ။
နောက်တစ်ခါ terminal ရှေ့ရောက်ရင် လက်တုန်စရာ မလိုတော့ဘူး — ကိုယ်ပိုင် command ၁၀ လုံး အိတ်ထဲထည့်ထားပြီလေ။ ဒီနေ့ပဲ my-first-app တစ်ခု ဖွင့်ပြီး git init ကနေ စမ်းကြည့်လိုက်ပါ။