ကျနော်နှင့် GitFlow (ဒုတိယပိုင်း) rebase
မနေ့က squash
နဲ့ cherry-pick
အကြောင်း အကြမ်းဖျင်း ရှင်းပြီးပြီမို့ နောက်တစ်ပတ်ကြရင် tutorial လေးတစ်ခု လုပ်ပေးပါမယ်။ Saturday နဲ့ Sunday မှာ အနည်းဆုံး Topic ၂ ခုရအောင် ကြိုးစားရေးပေးပါမယ်။
အခုတော့ rebase အကြောင်း ဆက်ကြည့်ရအောင်။ ကျနော် ထပ်စဥ်းစားမိတာက Topic တစ်ခုချင်းစီး သေချာ ရှင်းပြပေးတာ ကောင်းမယ်ထင်လို့ အခုကစပြီး rebase
ကို သေချာနားလည်အောင် ရှင်းပြပေးထားပါတယ်။
rebase ဘာလဲဘယ်လဲ
အောက်ကပုံလေးကို ကြည့်ကြည့်ပါ။
ကျနော့်မှာ master, develop, kevin-feature-01-add-more-message, kevin-feature-02-add-login-page ဆိုပြီး branch 4 ခုရှိနေပါတယ်။
kevin-feature-01-add-more-message
branch က develop branch က တိုက်ရိုက်ခွဲထုတ်ထားပြီး kevin-feature-02-add-more-message
ကလည်း develop ကနေပဲယူထားတာပါ။
ဆိုကြပါဆို့ 01 ရော 02 ရော develop နဲ့ပြန် merge
လုပ်ဖို့ ready မဖြစ်သေးဘူး။ ဒါပေမဲ့ လက်ရှိ 01 branch
ကို 02 branch
ရှေ့ရောက်ပြီး 02 branch
က code update တွေလဲ ကိုယ့်စီမှာ ရှိနေစေချင်တယ်ဆို rebase လုပ်ရပါမယ်။ နောက်နည်းက 01 ကို 02 နဲ့ merge လုပ်။ ပြီးမှ 02 branch
ကထပ်ပြီးခွဲထုတ်။ မရဘူးလား လို့မေးစရာရှိပါတယ်။ ရတာပေ့ါ။ ဒါပေမဲ့ flow ကြီးက ရှုပ်ပြီး နောက်တစ်ကြိမ် ပြန်ပြီး အရင် Topic ကလို cherry-pick
လုပ်မယ်ဆို ခေါင်းစားပါမယ်။ rebase
လုပ်ကြည့်ရအောင်။
branch 01
မှာ index.php
နဲ့ profile.php
file ၂ ခုရှိနေပါတယ်။ branch 02
မှာတော့ login.php
ဆိုတဲ့ 1 file ပဲရှိပါတယ်။
Command က git rebase *your_target_branch*
ကိုယ်က လက်ရှိ ကိုယ့်ရဲ့ develop လုပ်နေတဲ့ branch မှာရှိနေရပါမယ်။ လက်ရှိကျနော် branch က kevin-feature-01-add-more-message
မှာ active ဖြစ်နေရပြီး rebase
လုပ်ချင်တာက kevin-feature-02-add-login-page
အပေါ်ကိုပါ။ အသေချာဆုံး command က git rebase kevin-feature-02-add-login-page
rebase လုပ်ပြီးတဲ့ result ကိုကြည့်ကြည့်ပါ။
kevin-feature-01-add-more-message
သည် 02 အပေါ်ကို ရောက်သွားပြီး 02 update code login.php
လည်း 02 branch ထဲရောက်သွားပါပြီ။ ဒီလိုဆို ကျနော်တို့ one line straight ရအောင် ဘယ်လိုလုပ်လဲ အကြမ်းနားလည်သွာလောက်ပြီလို့ ယူဆပါတယ်။
rebase
အစား ကျနော် ပြောပြခဲ့သလို 01 branch
ကို 02 branch
နဲ့ merge
လုပ်။ပြီးမှ 02 branch
က ထပ်ပြီး branch အသစ်ခွဲသလို လုပ်ကြရအောင်။ ကျနော် အခု 01 branch
ထဲမှာ dashboard.php
ဆိုတဲ့ file အသစ်ထည့်လိုက်ပါပြီ။
နောက်ပြီးရင် 02 branch
မှာလည်း faq.php
ဆိုပြီး ထပ်ထည့်လိုက်ပါပြီ
လိုချင်တာက 01 branch
ထဲကို 02 branch
ထဲက faq.php
လိုချင်ပြီး 02 branch
ရှေ့ရောက်ချင်တာ။ လက်ရှ 01 branch
ထဲမှာ faq.php
လုံဝမရှိနေပါဘူး။ လက်ရှိ ကျနော် 01 branch
မှာ active ဖြစ်နေရပါမယ်။ Command က git merge kevin-feature-02-add-login-page
. merge
လုပ်ပြီးလို့ faq.php
file 01 branch
ထဲရောက်သွားပါပြီ။
ဒါဆို Git tree view ကိုကြည့်ကြည့်ပါ။ ရှုပ်သွားပါပြီး။ ၁ ခု ၂ ခုဆို မသိသာပေမဲ့ ၄၊၅ ရောက်ဒီလိုမျိုးခွဲရေးပြီဆို အဲ့သလို line တွေများလာရင် ကြည့်ရခက်နေပါပြီ။ By the way, ခုန ကျနော် rebase
လုပ်ပြီး push
မလုပ်မိထားပါဘူး။ အဲ့ဒါကြောင့် အမှားနည်းနည်းပါသွားပါတယ်။ အမှန်က rebase
လုပ်ပြီးတာနဲ့ remote
အတွက်ပါ။ update ဖြစ်အောင် push
လုပ်ရပါမယ်။
အခု 01 branch ကနေ ထပ်ခွဲပြီဆို line တွေထပ်လာပါပြီ။ အခုလောက်ဆို rebase အကြောင်း အတော်နားလည်ပြီလို့ ယူဆပါတယ်။ နောက်တစ်ပတ်မှာ ဘာရေးရမလဲစဥ်းစားပြီး နောက်တစ်ခုတော့ ရေးပေးပါမယ်။ Javascript နဲ့ implement လုပ်ထားတဲ့ message တွေအတွက်လည်း localisation Tutorial လေးရေးပေးချင်သေးတယ်။
Stay tune
အရင် part 1 ကို မသိလိုက်ဘူးဆိုရင်။ ဒီမှာ ဖတ်ကြည့်ပါ။
အခု tutorial လေးရဲ့ github repo ပါ။