เวลาที่เราใช้งาน Git เราก็จะแตก Branch กิ่งก้านสาขาออกจาก Branch Main
มาเพื่อทดสอบโน่นนี่นั่น (แต่ผมก็ค่อยจะแตก ออกมาจาก main
หรอก 😂 ) แต่จะทำยังไงถ้า Branch Main
ที่เราแตกออกมามีข้อมูลอัพเดทมาใหม่ วันนี้เราจะมาดูกันว่า เราจะเอาข้อมูล Branch Main
มาอัพเดทที่ Branch ที่เราแตกออกมาด้วย จะทำยังไง มาดูกันเลย
Merge
เริ่มจากการ checkout branch ที่เราใช้งานอยู่ ในตัวอย่างที่ผมใช้งานจะเป็น b1
git checkout b1
จากนั้นทำการ merge branch main
มาที่ branch b1
git merge origin/main
สุดท้ายก็ push
ขึ้นไปที่ remote branch
ของเรา ก็เป็นอันเสร็จเรียบร้อย
git push origin b1
Rebase
อีกวิธีนึงคือใช้ rebase
เราก็จะ checkout branch
เราเหมือนเดิม
git checkout b1
แล้วทำการ rebase
กับ branch
main
git rebase origin/main
สุดท้ายก็ push
ขึ้นไปที่ remote branch
ของเรา ก็เป็นอันเสร็จเรียบร้อย
git push -f origin b1
Conclude
ความแตกต่างระหว่างสองอันนี้ก็คือ merge จะเอาประวัติทุกอย่างที่อยู่ใน branch main
มาให้ด้วย แต่ rebase
จะใช้ตัวล่าสุดของ branch main
มาให้เท่านั้น ก็แล้วแต่ว่าใครชอบแบบไหน สุดท้ายนี้หากผิดพลาดตรงไหน หรือมีข้อสงสัยอะไร สามารถแสดงความคิดเห็นได้ในส่วนของ comment นะครับ ขอบคุณครับ