รีเบส
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
ยังคงไม่ได้รับผลกระทบ สิ่งนี้ทำให้คุณสามารถพัฒนาคุณสมบัติแยกต่างหาก แก้ไขจุดบกพร่อง หรือทำงานกับโค้ดเวอร์ชันต่างๆ ได้อย่างอิสระ คุณสามารถสลับระหว่างสาขาได้ทุกเมื่อที่ต้องการเพื่อทำงานในแต่ละสาขาแยกกัน