เอกสาร
Rebase แบบโต้ตอบ
Rebase โต้ตอบเปลี่ง git rebase -i ให้เป็นกระแสเห็นภาพ: ลากจัดคิวคอมมิตใหม่ ใช้คอมมิตทีละอัน แก้ความขัดแย้งแบบเห็นภาพ — ไม่ต้องใช้บรรทัดคำสั่ง
การเริ่ม
เปิดแผง branch และพิมพ์ในช่อง Filter branches... เพื่อหา branch เป้าหมาย แล้วคลิกขวา → Rebase Current Branch onto '{branch}' เพื่อ rebase branch ปัจจุบันลงบนเป้าหมาย แผงสลับไปมุมมอง rebase ซึ่งผ่านสี่ระยะ:
1. การแก้คิวคอมมิต
คอมมิตบน branch คุณที่เป้าหมายไม่มี รวมเป็นคิว:
- ลากเพื่อจัดเรียงใหม่;
- แต่ละคอมมิตมีดรอปดาวน์การกระทำ:
pick(เก็บ) /squash(พับเข้าอันก่อน รวมข้อความ) /fixup(พับ ทิ้งข้อความ) /edit(หยุดแก้) /drop(ทิ้ง); - คอมมิตที่ squash และ drop พับหายไปในภาพ
2. การใช้
Start Rebase เล่นคิวลงบนเป้าหมายคอมมิตต่อคอมมิตพร้อมแถบความคืบหน้าสด; ไม่มีความขัดแย้งก็วิ่งตรงจนจบ Abort ถอยได้ตลอด
3. ความขัดแย้ง (ถ้ามี)
ความขัดแย้งระหว่างใช้สลับไปมุมมองความขัดแย้ง — รายการไฟล์บวกตัวแก้ merge สี่โหมด (Merge / Split / Raw / AI) โดย hunk ที่ขัดแย้งแต่ละอันได้การตัดสินใจของตัวเอง (Ours / Theirs / Both …; ดู แก้ความขัดแย้ง) เมื่อทุกไฟล์ถูกแก้ Continue ทำ rebase ต่อ
4. เสร็จสิ้น
เมื่อจบแผงยืนยัน Branch '{branch}' was rebased onto '{target}' และแสดงการ์ด push — rebase เขียนประวัติใหม่ branch ระยะไกลจึงต้องอัปเดตแบบบังคับ:
Force Push with Lease— แนะนำ: เขียนทับเฉพาะเมื่อไม่มีใคร push และไม่ใช้--forceเปล่า ๆ;Not now— ข้าม push; rebase ท้องถิ่นเสร็จแล้ว
เซสชันยังใช้ได้ระหว่าง rebase; การปิดแผงไม่ขัดจังหวะที่กำลังรัน