GitHub ကို အသုံးပြုပုံ အဆင့်ဆင့်
အဆင့် ၁ : Git ကို Install လုပ်ပြီး Configure လုပ်ပါ
- git-scm.com/downloads ကနေ ကိုယ့် OS နဲ့ ကိုက်ညီတဲ့ Git version ကို download လုပ်ပြီး install လုပ်ပါ။
- Install လုပ်ပြီးရင် Terminal/Command Prompt ကို ဖွင့်ပြီး အောက်ပါ command နဲ့ Git version ကို စစ်ဆေးနိုင်ပါတယ်။
- Code Editor ကို VS Code နဲ့ အသုံးပြုတာပိုလွယ်ကူပါတယ်။
git --version
အဆင့် ၂: GitHub မှာ Repository အသစ်တစ်ခု ဖန်တီးပါ
1. github.com ကို Login ဝင်ပါ။
2. New Repository ဖန်တီးပါ။
“New repository” ကို ရွေးပါ။ Repository Name မှာ ကိုယ့်ရဲ့ Project နာမည်တစ်ခု ပေးပါ။ (ဥပမာ: MyProject) Description (optional): ဒီ repository က ဘာအတွက်လဲဆိုတာ အတိုချုပ် ရေးပါ။
Public/Private:
- Public: လူတိုင်း မြင်နိုင်၊ ကြည့်နိုင်ပါတယ်။
- Private: ကိုယ်နဲ့ ကိုယ်ခွင့်ပြုထားတဲ့သူတွေပဲ မြင်နိုင်၊ ကြည့်နိုင်ပါတယ်။ (Private ထားပြီးမှ Public လုပ်တာမျိုးလည်း လုပ်နိုင်ပါတယ်)
အစကတည်းက README.md file တစ်ခု ပါလာပါလိမ့်မယ်။ ဒီ README file မှာ ကိုယ့် project အကြောင်း၊ ဘယ်လိုသုံးရလဲဆိုတာ ရေးနိုင်ပါတယ်။
Add .gitignore (optional): ကိုယ်မသိမ်းချင်တဲ့ file တွေကို Git ကနေ ignore လုပ်ဖို့ပါ။ (ဥပမာ: temporary files, build outputs)
“Create repository” button ကို နှိပ်ပါ။
အဆင့် ၃: Local Computer မှာ Repository ကို Clone လုပ်ပါ
Repository URL ကို Copy လုပ်ပါ:
- GitHub မှာ ဖန်တီးထားတဲ့ repository page ကို သွားပါ။
- “Code” (သို့) “Clone” button ကို နှိပ်ပြီး URL (HTTPS ဒါမှမဟုတ် SSH) ကို Copy လုပ်ပါ။ HTTPS က ပိုအသုံးများပါတယ်။
Local မှာ Clone လုပ်ပါ:
- Terminal/Command Prompt ကို ဖွင့်ပါ။
- ကိုယ့်ရဲ့ project တွေကို သိမ်းချင်တဲ့ directory ထဲကို cd command နဲ့ ဝင်ပါ။
cd Documents/Projects/
အောက်ပါ command နဲ့ repository ကို clone လုပ်ပါ။
git clone [repository_url_here]
# ဥပမာ: git clone https://github.com/yourusername/MyProject.git
အဲဒီ repository နာမည်နဲ့ folder တစ်ခု ကိုယ့် computer ထဲမှာ ပေါ်လာပါလိမ့်မယ်။ အဲ့ဒီ folder ထဲကို ဝင်ပါ။
cd MyProject
Git User Configuration လုပ်ပါ။
- Git ကို ပထမဆုံးအကြိမ် သုံးတဲ့အခါ ကိုယ့်ရဲ့ နာမည်နဲ့ email ကို configure လုပ်ပေးရပါမယ်။ ဒါမှ ကိုယ်လုပ်တဲ့ commit တိုင်းမှာ ဘယ်သူလုပ်ခဲ့လဲဆိုတာ သိရမှာပါ။
git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"
ပုံမှန်အတိုင်း Project ရေးလို့ရပါပြီ။
အဆင့် ၄: Git Commands တွေကို အသုံးပြုပြီး Code တွေကို GitHub ကိုတင်နည်း
ဒါက အဓိက အဆင့်ပါ။ အောက်ပါ command တွေကို အစဉ်လိုက် အသုံးပြုရပါမယ်။
1. Git Status (အခြေအနေ စစ်ဆေးခြင်း):
git status
အစိမ်းရောင်နဲ့ ပြထားရင် “Staged” ဖြစ်ပြီး commit လုပ်ဖို့ အဆင်သင့်ပါပဲ။ အနီရောင်ဆိုရင်တော့ “Untracked” ဒါမှမဟုတ် “Modified” ဖြစ်နေပြီး Git Add နဲ့ ထည့်ရပါမယ်။
2. Git Add (file များထည့်ရန်)
တ File ချင်းစီ ထည့်ရန်:
git add [file_name]
# ဥပမာ: git add about.html
VS Code မှာဆိုရင် ကိုယ်ပြင်ထားတဲ့ file တွေကို file ရဲ့ဘေးက
+(အပေါင်းလက္ခဏာ)နဲ့ထည့်သွားနိုင်ပါတယ်၊ Staged ကိုရောက်ပြီးသားဖြစ်လို့ နောက်တဆင့်မှာ commit လုပ်လိုက်ရင်ရပါပြီ။
Folder တစ်ခုလုံး ထည့်ရန်:
git add images/
File အားလုံးထည့်ရန်
git add .
ပြီးရင် git status ပြန်စစ်ကြည့်ပါ။ ကိုယ်ထည့်လိုက်တဲ့ file တွေဟာ အစိမ်းရောင် ဖြစ်နေရပါမယ်။
3. Git Commit (အပြောင်းအလဲများကို မှတ်တမ်းတင်ခြင်း):
git add နဲ့ ထည့်ထားတဲ့ အပြောင်းအလဲတွေကို မှတ်တမ်းတင်တာပါ။ Commit တိုင်းမှာ commit message တစ်ခု ပါရပါမယ်။ ဒီ message က ဒီ commit မှာ ဘာတွေ ပြောင်းလဲသွားလဲဆိုတာ ရှင်းပြတာပါ။
git commit -m "Added initial project"
# ဒါမှမဟုတ်: git commit -m "Updated about.html"
ကိုယ်လုပ်ခဲ့တာကိုရေးရတာပါ၊ ကိုယ့်ဟာကိုပြန်ကြည့်တဲ့အခါနားလည်အောင် ဒါမှမဟုတ် အဖွဲ့လိုက်ရေးတဲ့အခါ တခြားသူက ဘယ်သူကဘယ်နားမှာဘာပြင်ခဲ့တဲ့ဆိုတာ နားလည်အောင် ရေးရတာပါ။
4. git push (GitHub ပေါ်တင်ခြင်း)
Local မှာ လုပ်ထားတဲ့ အပြောင်းအလဲတွေကို Remote repository (GitHub) ပေါ်သို့ တင်တာပါ။
git push origin main
#(သို့မဟုတ်)
git push origin master (အချို့ repository တွေက master လို့ သုံးပါတယ်)
origin ဆိုတာက remote repository ရဲ့ alias (ခေါ်) နာမည်ကို ဆိုလိုတာပါ။
Git ကို စစချင်း repository တစ်ခုကို clone လုပ်တဲ့အခါ၊ Git က အဲ့ဒီ remote repository URL ကို default အနေနဲ့ origin ဆိုတဲ့ နာမည် (alias) ပေးပြီး သိမ်းထားလိုက်တာပါ။ main (သို့) master ဆိုတာက ကိုယ် push လုပ်ချင်တဲ့နေရာပါ။ အခုကတော့ master မှာပဲ တင်မယ့်သဘောပါ၊ ပထမဆုံး push လုပ်တဲ့အခါ GitHub username နဲ့ password (သို့မဟုတ် Personal Access Token) ကို တောင်းပါလိမ့်မယ်။
(အဖွဲ့လိုက်ပေါင်းလုပ်တဲ့အခါမျိုးမှာ Branch တွေခွဲထားတယ်ဆိုရင် Branch တွေမှာ အရင်တင်ပါတယ်၊ အားလုံးစစ်ဆေးပြီးမှ master ဆီကိုတင်တာပါ)၊ ဒီလိုပုံစံဖြစ်သွားပါမယ်။
git push origin branch_name
5. GitHub ပေါ်တင်ပြီးပါပြီ။
Local ကနေ GitHub ပေါ်တင်နည်း
git clone လုပ်တာမျိုးမဟုတ်ပဲနဲ့ Local မှာ Project အရင်လုပ်ပြီးမှ GitHub ပေါ်တင်ချင်တယ်ဆိုအခုလိုလုပ်ရပါမယ်။
အရင်ဆုံး ကိုယ့် Project folder ထဲ၀င်ပြီး git init လုပ်ရပါမယ်။ အဲကြရင် ကိုယ့် Project folder ထဲမှာ .git ဆိုပြီး hidden file လေးတခုဆောက်သွားပါလိမ့်မယ်။ အဲကြမှ git ကအလုပ်လုပ်မှာပါ။
git init
ပြီးရင် local နဲ့ Github ချိတ်ရပါမယ်။ repo link ထည့်ပေးရပါမယ်။
git remote add origin https://github.com/yourusername/your-repo-name.git
ပြီးရင် [ Git User Configuration လုပ်ပါ ] နေရာကနေ တဆင့်ချင်းဆက်လုပ်သွားလို့ရပါပြီ။
အဖွဲ့လိုက်အလုပ်လုပ်ဆောင်ခြင်း
1. git pull (အခြားသူများ ပြောင်းလဲတာကို ဆွဲယူခြင်း):
git pull origin master
# master မှ ဆွဲယူတာပါ
git pull branch_name
# branch ဆီမှ ဆွဲယူတာပါ
project စတော့မယ်ဆိုတာနဲ့ အရင်ဆုံး git pull လုပ်သင့်ပါတယ်၊ ဒါမှ မိမိရဲ့ code ဟာ update ဖြစ်ပြီး Conflict မဖြစ်မှာပါ။
git pull ဆွဲပြီးလို့ update ဖြစ်ပြီးသွားရင် project စရေးလို့ရပါပြီ၊ ပြီးတဲ့အခါ
git add file_name
# VS Code မှာ အပေါင်းနဲ့ထည့်ပေးလည်းရပါတယ်။
git commit -m "Updated contact.html"
master ပေါ်တင်ချင်ရင်
git push origin master
Branch မှာတင်ချင်ရင်
git push branch_name
အရင်အတိုင်းတဆင့်စီလုပ်သွားရုံပါပဲ။
Branches (Branching & Merging):
Feature အသစ်တွေ ထပ်ထည့်ဖို့ ဒါမှမဟုတ် Bug Fix တွေ လုပ်ဖို့ branch အသစ်တွေ ခွဲပြီး လုပ်သင့်ပါတယ်။
1. Branch အသစ်တစ်ခုခြင်း
Branch အသစ်တစ်ခု ခွဲဖို့ အဓိက command နှစ်ခု ရှိပါတယ်။
- အကယ်၍ သင်က branch အသစ်တစ်ခု ဖန်တီးချင်ရုံပဲ၊ လက်ရှိရောက်နေတဲ့ branch မှာပဲ ဆက်ပြီး အလုပ်လုပ်ချင်သေးတယ်ဆိုရင် အောက်ပါ command ကို သုံးနိုင်ပါတယ်။
git branch [new-branch-name]
branch အသစ်ကို ဖန်တီးပေးပါလိမ့်မယ်။ ဒါပေမဲ့ သင်က main branch မှာပဲ ဆက်ရှိနေပါဦးမယ်။
- Branch အသစ်တစ်ခု ဖန်တီးပြီး အဲဒီ branch ကို တခါတည်းပြောင်းချင်တယ်ဆိုရင် :
git checkout -b [new-branch-name]
2. Branch တစ်ခုမှ တစ်ခုသို့ ပြောင်းခြင်း
git checkout [branch-name]
Branch ပြောင်းမယ့်အခါ ကိုယ်လုပ်ထားတဲ့ uncommitted changes တွေ ရှိနေရင် Git က သတိပေးပါလိမ့်မယ်။ အဲ့ဒီ အပြောင်းအလဲတွေကို commit လုပ်ပြီးမှ ဒါမှမဟုတ် stash လုပ်ပြီးမှသာ branch ပြောင်းလို့ရပါမယ်။ (မဟုတ်ရင် ကိုယ်လုပ်ထားတာတွေ ဆုံးရှုံးတာ ဒါမှမဟုတ် တခြား branch ကို ပါသွားတာမျိုး ဖြစ်နိုင်ပါတယ်)။
3. လက်ရှိရောက်နေတဲ့ Branch ကို စစ်ဆေးခြင်း
git branch
ဥပမာ out put :
fix-bug
* main
user_b
4. Branch ကိုဖျက်ခြင်ရင်
အလုပ်ပြီးသွားတဲ့ branch ကို ဖျက်ချင်ရင် (local):
git branch -d branch_name
Remote မှာဖျက်ချင်ရင်
git push origin --delete branch_name
Git Merge လုပ်ခြင်း
git merge ဆိုတာက မတူညီတဲ့ branch တွေမှာ လုပ်ထားတဲ့ ပြောင်းလဲမှုတွေကို တစ်ခုတည်းသော branch အဖြစ် ပေါင်းစပ်လိုက်တာ ကို ဆိုလိုပါတယ်။ ရိုးရိုးရှင်းရှင်းပြောရရင်၊ လမ်းခွဲပြီး အလုပ်လုပ်နေတဲ့ လမ်းကြောင်းနှစ်ခုကို ပြန်ပြီး ပေါင်းစည်းပေးတာပါပဲ။
ဥပမာအားဖြင့်၊ သင်က main (သို့မဟုတ်) master branch ကနေ user-b ဆိုတဲ့ branch တစ်ခုဆောက်ပြီး Quiz အသစ်တစ်ခုကို ဖန်တီးခဲ့တယ်ဆိုပါစို့။ ဒီ Quiz ပြီးသွားတဲ့အခါ git checkout master နဲ့ master branch ကိုပြောင်းပြီး user-b ရဲ့ code တွေ၊ content တွေအားလုံးကို main branch ထဲကို ပြန်ထည့်လိုက်လို့ ရပါတယ်။ ဒါဆို သင့်ရဲ့ main branch မှာ Quiz အသစ် ပေါ်လာပါပြီ။
ဥပမာ :
git merge user-b
git merge နဲ့ git pull ဘာကွာလဲ?
git merge ဟာ git pull နဲ့ ဆင်တူပေမယ့် တကယ်တော့ git pull ဆိုတာက git fetch (remote က အပြောင်းအလဲတွေကို ဆွဲချတာ) နဲ့ git merge (အဲ့ဒီဆွဲချလာတဲ့ အပြောင်းအလဲတွေကို လက်ရှိ branch ထဲ ပေါင်းစပ်တာ) ဆိုတဲ့ command နှစ်ခုကို ပေါင်းစပ်ထားတာပါ။ ဒါကြောင့် git pull ကို လုပ်လိုက်တိုင်းမှာ merge process တစ်ခု အမြဲပါဝင်နေပါတယ်။
Conflict တွေကို ဘယ်လို ဖြေရှင်းမလဲ?
git merge လုပ်တဲ့အခါ တစ်ခါတလေ Conflict ဖြစ်တာမျိုး ကြုံတွေ့ရနိုင်ပါတယ်။ Conflict ဆိုတာက branch နှစ်ခုကို ပေါင်းတဲ့အခါ file တခုတည်းက တူညီတဲ့ နေရာမှာ Changes တွေလုပ်ထားတာမျိုးရှိရင် Git က ဘယ်ဟာကို လက်ခံရမလဲဆိုတာ မဆုံးဖြတ်နိုင်တော့တာကို ပြောတာပါ။
ဒီလိုအခြေအနေမျိုးမှာ Git က merge process ကို ရပ်လိုက်ပြီး conflict ဖြစ်နေတဲ့ file တွေကို ပြပေးပါလိမ့်မယ်။ အဲ့ဒီအခါမှာ သင်ကိုယ်တိုင် conflict ဖြစ်နေတဲ့ code တွေကို ဖြေရှင်းပေးရပါမယ်။ Conflict ဖြစ်နေတဲ့ နေရာတွေကို Git က အောက်ပါအတိုင်း ရှင်းရှင်းလင်းလင်း ပြသပေးပါလိမ့်မယ်:
<<<<<<< HEAD
// လက်ရှိရောက်နေတဲ့ branch (သင့်ရဲ့ code)
=======
// ပေါင်းစပ်ချင်တဲ့ branch (အခြားသူရဲ့ code)
>>>>>>> branch-name-you-are-merging
ကိုယ်တိုင်ဆုံးဖြတ်ပြီးရွေးပေးရပါတယ်။
အရေးကြီးသော Git Commands များ ပြန်လည် စုစည်းခြင်း :
- git init : Local မှာ Git repository အသစ်တစ်ခု စတင်ရန်။
- git clone [url] : Remote repository ကို local သို့ ကူးယူရန်။
- git add [file] / git add . : ပြောင်းလဲထားသော ဖိုင်များကို commit ပြုလုပ်ရန် စာရင်းထဲသို့ ထည့်သွင်းရန်။
- git commit -m “message” : ပြောင်းလဲမှုများကို မှတ်တမ်းတင်ရန်။
- git status : Repository ၏ လက်ရှိအခြေအနေကို စစ်ဆေးရန်။
- git push [remote] [branch] : Local commit များကို remote repository သို့ တင်ရန်။
- git pull [remote] [branch] : Remote repository မှ အပြောင်းအလဲများကို local သို့ ဆွဲချရန်။
- git branch : ရှိပြီးသား branch များကို ကြည့်ရန်။
- git branch [new-branch-name] : branch အသစ် ဖန်တီးရန်။
- git checkout [branch-name] : branch တစ်ခုမှ အခြားတစ်ခုသို့ ပြောင်းရန်။
- git checkout -b [new-branch-name] : branch အသစ် ဖန်တီးပြီး ချက်ချင်း ပြောင်းရန်။
- git merge [branch-name] : လက်ရှိ branch သို့ အခြား branch ကို ပေါင်းစပ်ရန်။
- git log : Commit မှတ်တမ်းများကို ကြည့်ရန်။
လုပ်ငန်းခွင်မှာ Github ဟာ code တွေသိမ်းဆည်းတာနဲ့ အဖွဲ့လိုက်အလုပ်လုပ်တဲ့နေရာမှာအရေးပါပါတယ်၊ မိတ်ဆွေတို့အနေနဲ့ Github လေ့လာတဲ့နေရာမှာ အစောပိုင်းမှာအနည်းငယ်ရှုပ်ထွေးနိုင်ပေမယ့် လက်တွေ့စမ်းသပ်ရင်း နားလည်သွားမှာပါ၊ လက်တွေ့များများစမ်းသပ်ဖို့ပဲအကြုံပြုပါတယ်။
