Git ကို သုံးဖို့အတွက် ပထမဆုံး စက်ထဲမှာ git မရှိရင် download ချဖို့လိုပါတယ်။
Download ချပြီးပြီဆိုရင်တော့ command line (terminal) မှာ စပြီးတော့ git ကို အသုံးပြုလို့ရပြီ။
Git ကို သုံးဖို့အတွက် git repo လိုအပ်တယ်။ Git repo ကို bitbucket , github စတာတွေမှာ ဖန်တီးလို့ရသလို ကိုယ်ပိုင် network , ကိုယ့်စက်ထဲမှာလည်း repo လွယ်လင့် တကူဖန်တီးလို့ရတယ်။
Git ကို github , bitbucket တို့မှာ host မလုပ်ပဲ ကိုယ့်စက်ထဲမှာပဲ host လုပ်ချင်တယ်ဆိုရင်တော့
mkdir /opt/git
mkdir /opt/git/gitProject.git
cd /opt/git/gitProject.git
git --bare init
ဒါဆိုရင် ကျွန်တော်တို့တွေရဲ့ /opt/git/gitProject.git
က git repo host ဖြစ်နေပါပြီ။
Git repo တစ်ခု ဖန်တီးရတာ လွယ်ပါတယ်။
git init
ဆိုပြီး စတင်ရပါမယ်။
ဥပမာ။
cd ~/Projects/myprojectDir/
git init
ပြီးရင်တော့ ကျွန်တော်တို့တွေ remote ကို ထည့်ပေးရမယ်။
git remote add origin /opt/git/gitProject.git
ဒါမှမဟုတ် Github က ဆိုရင်တော့
git remote add origin git@github.com:myusername/myrepo.git
remote add ဆိုတာကတော့ remote url ထည့်မယ်ဆိုတာပါ။ origin ကတော့ နာမည်ပါ။ အခြားနာမည်တွေ ပေးလည်းရပါတယ်။ git တစ်ခုမှာ remote တစ်ခုမက ထည့်သွင်းလို့ရပါတယ်။ Github ကို အသုံးပြုတဲ့အခါ Fork လုပ်ပြီးတော့ မူရင်း repo ကနေ pull ပြန်လုပ်ဖို့အတွက် remote branch တွေ တစ်ခုမက ထည့်သွင်းရပါတယ်။
အသစ်ထည့်ထားတဲ့ file တွေ ကို git ပေါ်ကို တင်မယ်ဆိုရင်တော့
git add <filename>
အကုန်လုံး ကို ထည့်မယ်ဆိုရင်တော့
git add *
Add နဲ့ remove လုပ်မယ်ဆိုရင်တော
git add -u
ပြီးရင်တော့
git commit -m "Commit message"
ဒါဆိုရင်တော့ head (git commit ရဲ့ လက်ရှိနေရာ) ထဲမှာ Commit message နဲ့ ရောက်သွားပြီ။ git repo host ပေါ်ကို push လုပ်ဖို့တာ လိုတော့တယ်။
ကျွန်တော်တို့ အပေါ်မှာ remote ကို origin ဆိုပြီးတော့ နာမည်ပေးခဲ့ပါတယ်။
git push origin master
Origin က master branch ဆီကို push လုပ်လိုက်တာပါ။ branch တွေက master အပြင် မိမိ စိတ်ကြိုက် branch တွေ ခွဲထုတ်လို့ရပါတယ်။ ပြီး branch အခြင်းခြင်း merge လုပ်လို့ရပါတယ်။
Git log ကို အသုံးပြုပြီးတော့ ဘာ
git log
လက်ရှိ branch ကနေ feature အသစ် တစ်ခု ထပ်ဖြည့်မယ်ဆိုရင်တော့ feature branch တစ်ခု ထပ်ခွဲပြီးတော့ နောက်ပိုင်း အကုန်လုပ်ပြီးမှ master branch ကို ထပ်ပေါင်းပါတယ်။
feature_x branch ဖန်တီးချင်ရင်
git checkout -b feature_x
master branch ကို ပြန်ပြောင်းချင်ရင်
git checkout master
feature_x branch ကို ဖျက်ချင်ရင်
git branch -d feature_x
သက်ဆိုင်ရာ branch ကို push လုပ်ချင်ရင်
git push origin <branch>
update လုပ်မယ်ဆိုရင် အခြားလူတွေ တင်ထားတာတွေ ရှိသလား ။ ရှိရင် merge လုပ်ဖို့အတွက် push မလုပ်ခင်မှာ pull လုပ်ရပါတယ်။
git pull
git server က fetch လုပ်ပြီးတော့ merge လုပ်ပါတယ်။ ဒါမှမဟုတ် branch တွေကို merge လုပ်ချင်တယ်ဆိုရင်
git merge <branch>
အထက်ပါ ၂ ခုလုံးက အလိုအလျောက် merge လုပ်ပေးပါတယ်။ သို့ပေမယ့် ကံမကောင်းရင်တော့ conflict ဖြစ်တတ်ပါတယ်။ conflict ကို ဖြေရှင်းဖို့ mac မှာ ဆိုရင် file merge နဲ့ တွဲပြီး အသုံးပြုနိုင်ပါတယ်။
merge မလုပ်ခင်မှာ different ကို ယဉ်ကြည့်လို့ရပါတယ်။
git diff <source_branch> <target_branch>
version ၁ ခု ကို release လုပ်ပြီးသွားတိုင်း ကျွန်တော်တို့တွေ tag လုပ်ခဲ့ပါတယ်။ tag ကို လုပ်ပေးဖို့လည်း ကျွန်တော် အကြံပြုချင်ပါတယ်။ tag လုပ်ခြင်းအားဖြင့် github , bitbucket တို့မှာ လွယ်လင့်တကူ source code ကို tag version နဲ့ ပြန် download ချနိုင်ပါတယ်။
git tag -a v1.4 -m 'my version 1.4'
ထည့်ထားတဲ့ tag တွေကို ပြန်ကြည့်ချင်ရင်တော့
git tag
ပြီးရင်တော့ remote ကို ပြန်ပြီးတော့ တင်ပေးရပါတယ်။
git push origin --tags
ကျွန်တော်တို့ အရင် commit လုပ်ထားတဲ့ နေရာကို ပြန်သွားချင်တယ် ဆိုရင်တော့ ကျွန်တော်တို့တွေ checkout ပြန်လုပ်ဖို့လိုပါတယ်။ ပြန်သွားဖို့ အတွက် commit နံပတ် ကို သိဖို့လိုပါတယ်။ commit ကို log နဲ့ ပြန်ကြည့်လို့ရပါတယ်။
git checkout <commit> <file>
တကယ်လို့ file တစ်ခုတည်း မဟုတ်ပဲ အကုန်လုံးကို ပြန်သွားမယ်ဆိုရင်တော့
git checkout <commit>
ဥပမာ ။။
$ git log --oneline
b7119f2 Continue doing crazy things
872fa7e Try something crazy
a1e8fb5 Make some important changes to hello.py
435b61d Create hello.py
9773e52 Initial import
hello.py ရှိတဲ့ နေရာကို ပြန်သွားမယ်ဖြစ်တဲ့ အတွက်ကြောင့်
$ git checkout a1e8fb5
အဲဒါဆိုရင် a1e8fb5 stage ကို ရောက်နေပါပြီ။ current stage မှာ မဟုတ်ပါဘူး။ file ကြည့်ပြီးတော့ လက်ရှိ master branch ကိုပဲ ပြန်သွားမယ်ဆိုရင်တော့
$ git checkout master
ဒါဆိုရင် current branch ကို ပြန်ရောက်ပါပြီ။
git checkout a1e8fb5 hello.py
ဆိုရင် a1e8fb5 က hello.py ကို ပြန်ခေါ်တာပါ။ ပြီးရင် HEAD က hello.py ကို ပြန်ခေါ်သုံးချင်ရင်တော့
git checkout HEAD hello.py
ကျွန်တော်ကတော့ git အတွက် source tree ကို အသုံးပြုပါတယ်။ Free ဖြစ်ပြီးတော့ သုံးရတာ အဆင်ပြေပါတယ်။ Windows အတွက်ကော mac အတွက်ပါ ရပါတယ်။
Atlassian ရဲ့ Git Guide က အတော်လေးကို အသုံးဝင်ပါတယ်။
နောက်ပြီး Github ရဲ့ try.github.io က interactive ဖြစ်တဲ့ အတွက် လက်တွေ့ နားလည် သဘောပေါက်စေနိုင်ပါတယ်။