လွယ်လွယ်ပြောရရင် 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 ကနေ စမ်းကြည့်လိုက်ပါ။