ဤစာမူသည်သင်နေ့စဉ်အသုံးပြုမည့်အသုံးအများဆုံး Git command များပါသော Git Cheat Sheet ဖြစ်သည်။
အကယ်၍ သင်ဟာ developer များနှင့် တွဲဖက်၍ အလုပ်လုပ်သောနည်းပညာဆိုင်ရာစမ်းသပ်သူဖြစ်လျှင်သင်သည်အခြေခံ Git command များကိုအကျွမ်းတဝင်ရှိသင့်သည်။
ဒီ post က QA အနေဖြင့်သင်တစ်နေ့ပြီးတစ်နေ့သွားရန် Git အသိပညာလုံလောက်ပါတယ်။
သင်၏စက်တွင် Git ကိုထည့်သွင်းတပ်ဆင်ထားခြင်းမရှိပါကအဆင့်များအတိုင်းလိုက်နာနိုင်သည် Mac တွင် Git ကို Install လုပ်ပြီး SSH Keys များထုတ်လုပ်နည်း ။
တစ် ဦး အချည်းနှီးသော git repo ဖန်တီးသို့မဟုတ်ရှိပြီးသားတစ်ခု re- စတငျ
$ git init
foo repo ကို foo ဟုခေါ်သည့်လမ်းညွှန်သစ်တစ်ခုထဲသို့ကူးထည့်ပါ။
$ git clone https://github.com//foo.git foo
သငျသညျအင်္ဂါရပ်အသစ်တခုပေါ်မှာအလုပ်လုပ်ချင်တဲ့အခါ, သင်ပုံမှန်အားဖြင့် Git အတွက်ဌာနခွဲအသစ်တစ်ခုကိုဖန်တီး။ ထို့ကြောင့်သင်ဟာယေဘုယျအားဖြင့်မာစတာဌာနခွဲကိုမသွားဘဲသင်ကိုယ်ပိုင်သန့်ရှင်းသောအကိုင်းအခက်များပေါ်တွင်အလုပ်လုပ်လိုပြီး၊ ထိုမာစတာသည်အမြဲသန့်ရှင်းနေပြီး၎င်းမှဌာနခွဲအသစ်များကိုဖန်တီးနိုင်သည်။
ဌာနခွဲအသစ်ကိုအသုံးပြုရန်
$ git checkout -b
သင်၏အလုပ်လမ်းညွှန်တွင်မည်သည့်အကန့်များရနိုင်သည်ကိုသင်သိလိုလျှင်၊
$ git branch
ဥပမာ output:
develop my_feature master
Branch အသစ်ကိုသင်ဖန်တီးလိုက်သောအခါ Git သည် branch သစ်သို့အလိုအလျောက်ပြောင်းသွားသည်။
သင့်တွင်ဘဏ်ခွဲများစွာရှိပါက git checkout ဖြင့်အကိုင်းများကိုအလွယ်တကူပြောင်းနိုင်သည်။
$ git checkout master $ git checkout develop $ git checkout my_feature
ဒေသဆိုင်ရာဌာနခွဲကိုဖျက်ရန်။
$ git branch -d
-D
ကိုသုံးပါ ကအတင်းဖို့ option ကိုအလံ။
ဝေးလံခေါင်ဖျားသောမူလဌာနခွဲကိုမူလကပယ်ဖျက်ရန်။
$ git push origin :
ဆက်စပ်:
ရန် စင်မြင့် ဖိုင်တစ်ဖိုင်သည်ကျူးလွန်မှုအတွက်ပြင်ဆင်ရန်ဖြစ်သည်။ သင်သည်အချို့သောဖိုင်များကိုထည့်ခြင်းသို့မဟုတ်ပြုပြင်ခြင်းပြုသည့်အခါထိုပြောင်းလဲမှုများကို“ စင်မြင့်နေရာ” အဖြစ်သို့ပြောင်းလဲရန်လိုအပ်သည်။ စင်မြင့်ကိုသင်အိပ်ရာအောက်မရွှေ့မီအရာဝတ္ထုများကိုထည့်သွင်းထားသောသေတ္တာတစ်ခုအဖြစ်စဉ်းစားပါ။ သင်၏အိပ်ရာသည်ယခင်ကသင်ရိုက်ထည့်လိုက်သောသေတ္တာများသိုလှောင်ရာနေရာဖြစ်သည်။
ဖိုင်များကိုအဆင့်မြှင့်ရန် (သို့) ရိုးရိုးလေးထည့်ရန်အတွက်သင်သည် git add command ကိုအသုံးပြုရန်လိုအပ်သည်။ ဖိုင်တစ်ခုချင်းစီကိုသင်စီစဉ်နိုင်သည်။
$ git add foo.js
သို့မဟုတ်ဖိုင်အားလုံးကိုတစ်ပြိုင်နက်တည်း:
$ git add .
ဖိုင်တစ်ခုကိုစင်ပေါ်မှဖယ်ရှားလိုလျှင် -
$ git reset HEAD foo.js
သိုမဟုတ်ဖိုင်တွဲအားလုံးကိုဖယ်ရှားပါ။
$ git reset HEAD .
command တစ်ခုအတွက် alias ကိုပြုလုပ်ပြီး Git နှင့်လည်းအသုံးပြုနိုင်သည်။
$ git config --global alias.unstage 'reset HEAD' $ git unstage .
မည်သည့်ဖိုင်များဖန်တီးထားသည်၊ ပြင်ဆင်သည်၊ ဖျက်ပစ်သည်ကိုသင်ကြည့်လိုပါက Git status သည်သင့်အားအစီရင်ခံစာတစ်ခုပြလိမ့်မည်။
$ git status
ဒါဟာမကြာခဏကျူးလွန်ရန်ကောင်းသောအလေ့အကျင့်ဖြစ်ပါတယ်။ သငျသညျအစဉ်အမြဲတစ် ဦး တွန်းအားပေးမတိုင်မီသင့်ရဲ့ကတိကဝတ် squash နိုင်ပါတယ်။ သင်သည်သင်၏အပြောင်းအလဲများကိုကျူးလွန်ခြင်းမပြုမီ, သင်ကသူတို့ကိုအဆင့်ဆင့်ဖို့လိုအပ်ပါတယ်။
Commit command သည်ကတိပေးသော -m option လိုအပ်သည်။
သင်၏အပြောင်းအလဲများကိုကျူးလွန်နိုင်သည် -
$ git commit -m 'Updated README'
အောက်ပါ command သည်သင်၏လတ်တလောကျူးလွန်မှုကိုပယ်ဖျက်ပြီး၎င်းအပြောင်းအလဲများကိုဇာတ်စင်အဖြစ်ပြောင်းလဲပေးလိမ့်မည်။
$ git reset --soft HEAD~1
ကတိသစ္စာကိုလုံးဝဖျက်ရန်နှင့်ပြောင်းလဲမှုများကိုသုံးရန်:
$ git reset --hard HEAD~1
သင့်မှာ commits ၄ ခုရှိတယ်ဆိုပါစို့၊ ဒါပေမယ့်သင်ကဘာမှမတွန်းပေးသေးဘူး၊ အရာအားလုံးတစ်ခုလုံးကိုကျူးလွန်မှုတစ်ခုအနေနဲ့ထည့်သွင်းချင်တယ်ဆိုရင်၊
$ git rebase -i HEAD~4
HEAD~4
ပြီးခဲ့သည့်လေးကျူးလွန်ရန်ကိုရည်ညွှန်းသည်။
-i
option သည် interactive text file တစ်ခုဖွင့်သည်။
သငျသညျအသီးအသီးကျူးလွန်၏ဘယ်ဘက်မှ 'ကောက်' ဟူသောစကားလုံးမြင်လိမ့်မယ်။ တစ်ခုတည်းကိုထိပ်ဆုံးတွင်ထားခဲ့ပါ၊ အခြားအရာအားလုံးကို squash, save နှင့် close လုပ်ရန်“ s” ဖြင့်အစားထိုးလိုက်ပါ။
ထိုအခါသင်သည်အပြန်အလှန်အကျိုးပြုသည့် ၀ င်းဒိုးတစ်ခုပေါ်လာပြီးသင်သည်သင်၏မက်ဆေ့ခ်ျများအားအသစ်သော commit အသစ်အဖြစ်သို့ပြောင်းလဲနိုင်သည်
သင်သည်သင်၏အပြောင်းအလဲများကိုကျူးလွန်ပြီးပါက၊ နောက်တစ်ခုမှာ remote repository သို့တွန်းရန်ဖြစ်သည်။
ဒေသန္တရဌာနခွဲကိုပထမဆုံးအကြိမ်ဖွင့်ပါ။
$ git push --set-upstream origin
ထို့နောက်သင်ရုံသုံးနိုင်သည်
$ git push
ဒေသဆိုင်ရာဌာနခွဲတစ်ခုကိုအခြားဝေးလံခေါင်ဖျားသောဌာနခွဲတစ်ခုသို့တွန်းရန်သင်အသုံးပြုနိုင်သည် -
$ git push origin :
သင်၏နောက်ဆုံးတွန်းအားကိုပယ်ဖျက်လိုပါကသင်အသုံးပြုနိုင်သည် -
$ git reset --hard HEAD~1 && git push -f origin master
_ + _ | ကိုအသုံးပြုသောအခါ၊ Git သည်သင်၏လက်ရှိဌာနခွဲနှင့်အခြားကတိကဝတ်များကိုပေါင်းစည်းခြင်းမပြုပါ။ သင်၏ repository ကိုနောက်ဆုံးပေါ်ထားရန်လိုအပ်သည်ဆိုလျှင်၎င်းသည်အထူးသဖြင့်အသုံးဝင်သည်၊ သို့သော်သင်၏ဖိုင်များကိုအသစ်ပြောင်းလျှင်ချိုးနိုင်သည့်အရာတစ်ခုခုကိုလုပ်ဆောင်နေသည်။
ကတိကဝတ်များကိုသင်၏မာစတာဌာနခွဲတွင်ပေါင်းစပ်နိုင်ရန်သင်သည် _ _ _ _ ကိုအသုံးပြုသည်။
git fetch
ဆွဲသည်ဆွဲယူရုံသာဖြစ်သည်။ merge
ကိုသင်အသုံးပြုသောအခါ၊ Git သည်သင်အရင်ဆုံးပြန်လည်စစ်ဆေးခွင့်မပြုဘဲအခြားကျူးလွန်မှုများကိုအလိုအလျောက်ပေါင်းစည်းသည်။ သင်၏ဌာနခွဲများကိုနီးကပ်စွာမစီမံပါကမကြာခဏပconflictsိပက္ခများဖြစ်ပွားနိုင်သည်။
သင့်တွင် _ _ _ _ ဟုခေါ်သည့်ဌာနခွဲရှိလျှင် ပြီးတော့သင်အဲဒီဌာနခွဲကိုဆွဲချင်တယ်ဆိုရင်၊
$ git fetch upstream
သို့မဟုတ်သင်ကအရာအားလုံးနှင့်အခြားအကိုင်းအခက်အားလုံးကိုဆွဲထုတ်ချင်တယ်ဆိုရင်
git pull
သင် run သည်။ _ _ _ _ _, သင့် HEAD ဌာနခွဲသည် a အသစ်ကျူးလွန် တစ် ဦး ချင်းစီ၏မျိုးရိုးထိန်းသိမ်းခြင်းသမိုင်းကျူးလွန်။
The ကျော်ပြီ ဌာနခွဲတစ်ခု၏ပြောင်းလဲမှုများကိုအခြားတစ်ခုသို့ပြန်လည်ရေးသားသည် မရှိ အသစ်တစ်ခုကိုကျူးလွန်ဖန်တီးခြင်း။
my_feature
သို့မဟုတ် rebase option ဖြင့်အသုံးပြုလျှင် -
$ git pull origin/my_feature
$ git pull
တခါတရံသင်သည်ဌာနခွဲတွင်အပြောင်းအလဲများပြုလုပ်သည်၊ အခြားဌာနခွဲတစ်ခုသို့သင်ပြောင်းလဲလိုသော်လည်းသင်၏ပြောင်းလဲမှုများကိုသင်မဆုံးရှုံးလိုပါ။
သင်သည်သင်၏အပြောင်းအလဲများကို stash နိုင်ပါတယ်။ ဤတွင် Git ၌သင်မည်သည့်နေရာတွင်ရှိသည်နည်း။
git merge
ယခုသင်ဤပြောင်းလဲမှုများကို unstash လုပ်ပြီးသင်၏အလုပ်လမ်းညွှန်အသုံးပြုမှုထဲသို့ပြန်လည်ပို့ဆောင်လိုပါက -
$ git checkout my_feature $ git merge master