Git Rebase และ Branch สวิตชิ่ง

รีเบส

Rebase เป็นกระบวนการเปลี่ยนประวัติการคอมมิชชันของสาขาโดยใช้การคอมมิชชันจากสาขาอื่น แทนที่จะใช้ merge เพื่อรวมการเปลี่ยนแปลง rebase ให้คุณ insert สร้างคอมมิชชันใหม่ในประวัติคอมมิชชันของสาขาปัจจุบันโดยไม่ต้องสร้างคอมมิชชันผสาน

ตัวอย่างเช่น สมมติว่าคุณมีสองสาขา: feature-branch และ main คุณกำลังดำเนินการ feature-branch และต้องการใช้คอมมิชชันล่าสุด main กับสาขาปัจจุบันของคุณ คุณสามารถใช้ rebase เพื่อทำสิ่งนี้:

git checkout feature-branch  
git rebase main  

เมื่อคุณเรียกใช้คำสั่งนี้ Git จะรับการคอมมิชชันจาก main และนำไปใช้กับ feature-branch. ซึ่งหมายความว่าคอมมิททั้งหมด feature-branch จะปรากฏหลังจากคอมมิท main จาก ผลลัพธ์คือประวัติการคอมมิตที่สะอาดและอ่านง่ายขึ้น feature-branch บน

อย่างไรก็ตาม เมื่อใช้ rebase สิ่งสำคัญคือต้องทราบว่าการเปลี่ยนแปลงประวัติการคอมมิตอาจส่งผลกระทบต่อสาขาที่แชร์แบบสาธารณะ ดังนั้น หากคุณได้ส่งการคอมมิตจากสาขาปัจจุบันของคุณไปยังที่เก็บระยะไกลแล้ว ขอแนะนำโดยทั่วไปว่าอย่าใช้การรีเบสในสาขานั้นเพื่อหลีกเลี่ยงความขัดแย้งและประวัติการคอมมิตที่ยุ่งเหยิง

 

Branch การสลับ

การสลับสาขาใน Git หมายถึงกระบวนการย้ายจากสาขาหนึ่งไปยังอีกสาขาหนึ่ง เมื่อคุณสลับสาขา Git จะย้ายตัวชี้ HEAD ไปยังสาขาใหม่ ทำให้คุณทำงานในสาขานั้นและทำการเปลี่ยนแปลงได้โดยไม่กระทบกับสาขาอื่น

ตัวอย่างเช่น สมมติว่าคุณมี สาขา feature-branch และ main หากต้องการเปลี่ยนเป็น feature-branch คุณจะต้องใช้คำสั่งต่อไปนี้:

git checkout feature-branch

หลังจากเปลี่ยนสาขาแล้ว คุณสามารถเปลี่ยนแปลงไดเร็กทอรีการทำงานได้ คำสั่ง ทั้งหมด commit, add และ checkout จะใช้กับสาขาปัจจุบัน

ตัวอย่างเช่น หากคุณเพิ่มไฟล์ใหม่และคอมมิตใน feature-branch เฉพาะแบรนช์นั้นเท่านั้นที่จะมีการคอมมิต ในขณะที่ main ยังคงไม่ได้รับผลกระทบ สิ่งนี้ทำให้คุณสามารถพัฒนาคุณสมบัติแยกต่างหาก แก้ไขจุดบกพร่อง หรือทำงานกับโค้ดเวอร์ชันต่างๆ ได้อย่างอิสระ คุณสามารถสลับระหว่างสาขาได้ทุกเมื่อที่ต้องการเพื่อทำงานในแต่ละสาขาแยกกัน