รู้เบื้องต้นเกี่ยวกับ Git Interactive Rebase

Ru Beuxng Tn Keiyw Kab Git Interactive Rebase



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

โพสต์นี้จะอธิบายสั้น ๆ เกี่ยวกับการแนะนำ Rebase แบบโต้ตอบของ Git

รู้เบื้องต้นเกี่ยวกับ Git Interactive Rebase

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







Git Interactive Rebase ทำงานอย่างไร

ในการเริ่มทำงานกับ Rebase แบบโต้ตอบของ Git ผู้ใช้สามารถทำการเปลี่ยนแปลงได้หลายรายการด้านล่าง:



จัดลำดับใหม่

หากต้องการจัดลำดับการคอมมิตใหม่ ให้ลองทำตามขั้นตอนด้านล่าง:



  • ไปที่ที่เก็บ Git ในเครื่อง
  • ตรวจสอบบันทึก Git
  • เปลี่ยนลำดับของการกระทำด้วยตนเองและตรวจสอบการเปลี่ยนแปลง

ขั้นตอนที่ 1: นำทางไปยังที่เก็บในเครื่อง

เริ่มแรก ไปที่ที่เก็บ Git ในเครื่องโดยระบุพาธโดยใช้ปุ่ม “ ซีดี ' สั่งการ:





ซีดี 'C:\Users\user\Git \t estingproject'

ขั้นตอนที่ 2: ตรวจสอบบันทึก Git

ดูบันทึก Git ที่สมบูรณ์ด้วยความช่วยเหลือของ “ git log –ออนไลน์ '. มันจะแสดงแต่ละการกระทำในบรรทัดเดียว:

บันทึกคอมไพล์ --ออนไลน์

เป็นผลให้คอมมิชชันทั้งหมดแสดงบนเทอร์มินัล Git Bash:



ขั้นตอนที่ 3: จัดลำดับคอมมิตใหม่

ตอนนี้ดำเนินการ “ คอมไพล์ rebase -i ” คำสั่งที่ “ -ฉัน ” ใช้สำหรับโหมดโต้ตอบ และ “ หัวหน้า ~ 3 ” จะเลือกคอมมิชชันสามรายการจากบันทึก Git:

คอมไพล์ rebase -ฉัน หัว ~ 3

ภาพผลลัพธ์ที่แสดงแทนที่ตำแหน่งของการคอมมิตทั้งหมดในเอดิเตอร์ที่เปิดอยู่:

ภาพด้านล่างแสดงให้เห็นว่าการคอมมิตถูกแทนที่ด้วยตนเอง:

ในที่สุด คอมมิชชันจะถูกสร้างใหม่ได้สำเร็จด้วยความช่วยเหลือของ “ คอมไพล์ rebase -i '.

ขั้นตอนที่ 4: ตรวจสอบการเปลี่ยนแปลง

ตรวจสอบการเปลี่ยนแปลงโดยดำเนินการคำสั่งที่กำหนด:

บันทึกคอมไพล์ --ออนไลน์

สังเกตได้ว่าคอมมิชชันที่เลือกได้รับการจัดลำดับใหม่เรียบร้อยแล้ว:

การควบรวมกิจการ

ในการรวมสองคอมมิชชันขึ้นไป ให้ทำตามคำแนะนำที่ให้ไว้:

  • ดูบันทึก Git
  • ใช้ “ git rebase -i HEAD~3 ” คำสั่งเพื่อรวมคอมมิทในคอมมิทเดียว
  • แทนที่ ' เลือก ” คำสำคัญกับ “ สควอช ” เพื่อผสาน

ขั้นตอนที่ 1: ตรวจสอบบันทึก Git

ขั้นแรก ดูประวัติทั้งหมดของบันทึก Git โดยดำเนินการตามคำสั่งที่ให้ไว้ด้านล่าง

บันทึกคอมไพล์ --ออนไลน์

รูปภาพที่ระบุแสดงผลของคำสั่งด้านบน:

ขั้นตอนที่ 2: รวมคอมมิต

ตอนนี้รวมคอมมิชชันโดยใช้ ' คอมไพล์ rebase -i ' สั่งการ. “ หัวหน้า ~ 3 ” ใช้เพื่อเลือกคอมมิตสามรายการและเปิดตัวแก้ไขที่ระบุ:

คอมไพล์ rebase -ฉัน หัว ~ 3

เป็นผลให้ตัวแก้ไขได้รับการเปิดตัว:

ขั้นตอนที่ 2: แทนที่ 'เลือก' ด้วย 'สควอช'

แทนที่ ' เลือก ” คำที่มี “ สควอช ” ที่ใช้เพื่อรวมการคอมมิตในอันแรกและบันทึกการเปลี่ยนแปลง:

ขั้นตอนที่ 3: ยอมรับการเปลี่ยนแปลง

จากนั้นตัวแก้ไขใหม่จะปรากฏขึ้นบนหน้าจอ ที่นี่เขียนข้อความยืนยันเพื่อยืนยันการเปลี่ยนแปลงและบันทึกโดยกดปุ่ม ' Ctrl+s ”:

สังเกตได้ว่าการเปลี่ยนแปลงทั้งหมดได้รับการดำเนินการเรียบร้อยแล้ว:

ขั้นตอนที่ 4: การยืนยัน

ตรวจสอบการเปลี่ยนแปลงที่กำหนดข้างต้นโดยใช้คำสั่งที่กล่าวถึง:

บันทึกคอมไพล์ --ออนไลน์

สังเกตได้ว่าการคอมมิตที่เลือกทั้งหมดถูกผสานสำเร็จแล้ว:

ลบคอมมิต

หากต้องการลบการคอมมิตออกจากประวัติของบันทึก Git ให้ลองทำตามขั้นตอนที่ระบุไว้ด้านล่าง:

  • ดูประวัติบันทึก Git
  • ลบการผูกมัดด้วยตนเองจากตัวแก้ไข
  • ตรวจสอบโดยดูประวัติบันทึกของ Git

ขั้นตอนที่ 1: ตรวจสอบประวัติบันทึก Git

เรียกใช้คำสั่งที่กำหนดเพื่อตรวจสอบบันทึก Git “ git log –ออนไลน์ ” คำสั่งใช้เพื่อแสดงแต่ละคอมมิชชันในบรรทัดเดียว:

บันทึกคอมไพล์ --ออนไลน์

ภาพที่แสดงประวัติบันทึก Git ที่สมบูรณ์:

ขั้นตอนที่ 2: ลบคอมมิต

เปิดตัวแก้ไขโดยใช้ปุ่ม “ คอมไพล์ rebase -i ” คำสั่งพร้อมกับ “ หัว ~ 2 ” เพื่อเลือกคอมมิชชันสองรายการจากประวัติบันทึก:

คอมไพล์รีเบส -ฉัน หัว ~ 2

เลือกคอมมิตและลบออกจากเอดิเตอร์ด้วยตนเอง:

ที่นี่ ให้ลบคอมมิชชันที่เลือกออกจากตัวแก้ไขแล้วกดปุ่ม “ Ctrl+s ” ปุ่มเพื่อบันทึกการเปลี่ยนแปลง:

ภาพผลลัพธ์บ่งชี้ว่าการดำเนินการ rebase ดำเนินการสำเร็จแล้ว:

ขั้นตอนที่ 3: การยืนยัน

เรียกใช้คำสั่งที่ระบุด้านล่างเพื่อวัตถุประสงค์ในการตรวจสอบ:

บันทึกคอมไพล์ --ออนไลน์

การคอมมิตที่เลือกถูกลบออกจากประวัติบันทึกเรียบร้อยแล้ว:

นั่นคือทั้งหมดที่เกี่ยวกับการรีเบสเชิงโต้ตอบของ Git

บทสรุป

การรีเบสแบบโต้ตอบของ Git เป็นการดำเนินการที่ทรงพลังที่สุดสำหรับการจัดการการคอมมิตในที่เก็บ Git อนุญาตให้ผู้พัฒนา/ผู้ใช้แก้ไข จัดลำดับใหม่ หรือลบการคอมมิตในประวัติของสาขาโดยใช้ ' คอมไพล์ rebase -i ' สั่งการ. นอกจากนี้ยังสามารถใช้เพื่อล้างประวัติ Git โดยรวมการกระทำทั้งหมดไว้ในที่เดียว โพสต์นี้ได้ระบุการแนะนำการรีเบสแบบโต้ตอบของ Git