0Pricing
Git & GitHub Professional Workflow · บทเรียน

การรีเบสแบบโต้ตอบเพื่อจัดการประวัติ

ใช้การรีเบสแบบโต้ตอบเพื่อเขียนประวัติคอมมิตใหม่ รวมคอมมิต จัดลำดับใหม่ หรือแก้ไขข้อความก่อนพุช

การรีเบสแบบโต้ตอบเพื่อจัดการประวัติ เป็นบทเรียน Git & GitHub Professional Workflow ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Git & GitHub Professional Workflow และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Git & GitHub Professional Workflow มีบทเรียนทั้งหมด 4 บทเรียน

มาทำความรู้จักกับการรีเบสแบบโต้ตอบ

ยินดีต้อนรับสู่เครื่องมือ Git ที่ทรงพลัง: การรีเบสแบบโต้ตอบ! เครื่องมือนี้ช่วยให้คุณเขียนประวัติการคอมมิตของโครงการใหม่ได้ก่อนแชร์ให้ผู้อื่น

ลองนึกภาพว่าเป็นเครื่องย้อนเวลาสำหรับการคอมมิต ซึ่งช่วยให้คุณจัดระเบียบ รวม หรือเรียงลำดับการเปลี่ยนแปลงใหม่ เพื่อสร้างเรื่องราวการทำงานที่ชัดเจนและเป็นเส้นตรง

เหตุใดจึงควรจัดระเบียบประวัติ

เหตุใดคุณจึงต้องการเขียนประวัติใหม่

  • ความชัดเจน: ทำให้บันทึกการคอมมิตของโครงการอ่านและทำความเข้าใจได้ง่าย
  • ความกระชับ: รวมการคอมมิตขนาดเล็กที่เพิ่มขึ้นทีละน้อยให้เป็นการเปลี่ยนแปลงเดียวที่มีความหมาย
  • การแก้ไขข้อบกพร่อง: ประวัติที่เป็นระเบียบช่วยได้เมื่อใช้เครื่องมืออย่าง git bisect เพื่อค้นหาว่าข้อบกพร่องถูกนำเข้ามาที่ใด
  • คำขอดึงที่ดียิ่งขึ้น: นำเสนอชุดการเปลี่ยนแปลงที่ขัดเกลาแล้วแก่ผู้ร่วมงาน

เริ่มการรีเบสแบบโต้ตอบ

หากต้องการเริ่มการรีเบสแบบโต้ตอบ คุณจะใช้คำสั่ง git rebase -i โดยต้องระบุว่าต้องการย้อนกลับไปไกลเพียงใด

ตัวอย่างเช่น หากต้องการรีเบสการคอมมิต 3 รายการล่าสุดบนสาขาปัจจุบัน ให้ใช้คำสั่ง:

git rebase -i HEAD~3

คำสั่งนี้จะเปิดตัวแก้ไขที่แสดงการคอมมิต 3 รายการล่าสุดและคำสั่งที่ใช้ได้

คำสั่งในตัวแก้ไขการรีเบส

เมื่อคุณเริ่มการรีเบสแบบโต้ตอบ Git จะเปิดตัวแก้ไขข้อความพร้อมรายการคอมมิตและคำแนะนำ การคอมมิตแต่ละรายการจะเริ่มต้นด้วยคำสั่ง:

  • pick: ใช้การคอมมิตตามเดิม
  • reword: ใช้การคอมมิต แต่แก้ไขข้อความของการคอมมิต
  • edit: ใช้การคอมมิต แต่หยุดชั่วคราวเพื่อแก้ไขการเปลี่ยนแปลงเพิ่มเติม
  • squash: รวมเข้ากับการคอมมิตก่อนหน้า พร้อมผสานข้อความ
  • fixup: รวมเข้ากับการคอมมิตก่อนหน้า โดยละทิ้งข้อความของการคอมมิตนี้
  • drop: ลบการคอมมิตออกทั้งหมด

ตัวอย่าง: การเปลี่ยนข้อความของการคอมมิต

สมมติว่าคุณพิมพ์ข้อความของการคอมมิตผิด คุณสามารถใช้ reword เพื่อแก้ไขได้ เปลี่ยน pick เป็น reword ถัดจากการคอมมิตที่ต้องการแก้ไข:

pick 5a6b7c8 Add new feature
pick 1d2e3f4 Fix typo in docs
reword 9g0h1i2 Implement login screen

หลังจากบันทึกและปิดตัวแก้ไขแล้ว Git จะแจ้งให้คุณแก้ไขข้อความของการคอมมิต 9g0h1i2

ตัวอย่าง: การรวมการคอมมิต

บ่อยครั้งที่คุณสร้างการคอมมิตขนาดเล็กที่เกี่ยวข้องกันหลายรายการ ทั้งที่สามารถรวมเป็นรายการเดียวได้ ให้ใช้ squash เพื่อรวมรายการเหล่านั้น

pick a1b2c3d Initial feature commit
squash e4f5g6h Add more details
fixup i7j8k9l Fix small bug

ในที่นี้ e4f5g6h จะถูกรวมเข้ากับ a1b2c3d พร้อมผสานข้อความของทั้งสองรายการ ส่วน i7j8k9l จะถูกรวมเข้ากับ a1b2c3d เช่นกัน แต่ข้อความของรายการนี้จะถูกละทิ้ง (fixup)

ตัวอย่าง: การลบการคอมมิต

หากคุณมีการคอมมิตทดลองที่ไม่ต้องการอีกต่อไป คุณสามารถใช้ drop เพื่อลบออกจากประวัติได้ เพียงเปลี่ยน pick เป็น drop หรือลบบรรทัดนั้นออกทั้งหมด:

pick 1122334 Initial setup
drop 5566778 Test experimental feature
pick 9900112 Add user authentication

หลังจากบันทึกแล้ว การคอมมิต 5566778 จะถูกลบออกจากประวัติของสาขาคุณโดยสมบูรณ์

ตัวอย่าง: การเรียงลำดับการคอมมิตใหม่

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

ลำดับเดิม:

pick abcdef1 Add feature A
pick 1234567 Add feature B

ลำดับใหม่:

pick 1234567 Add feature B
pick abcdef1 Add feature A

โปรดใช้ความระมัดระวัง เพราะการเรียงลำดับใหม่อาจทำให้เกิดข้อขัดแย้ง หากการคอมมิตต่าง ๆ พึ่งพากัน

กฎทอง: อย่ารีเบสประวัติที่แชร์ร่วมกัน!

เรื่องนี้สำคัญมาก: NEVER รีเบสการคอมมิตที่ถูกส่งไปยัง คลังข้อมูลระยะไกลที่ใช้ร่วมกัน แล้ว (เช่น GitHub หรือ GitLab) และอาจถูกผู้อื่นดึงไปแล้ว

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

รีเบสเฉพาะการคอมมิตที่มีอยู่บนสาขาในเครื่องของคุณเท่านั้น!

ตรวจสอบคำสั่งรีเบส

คุณมีการคอมมิตสามรายการ: A (Initial), B (Minor fix), C (Refactor) คุณต้องการรวม B เข้าไปใน A โดยคงข้อความเดิมของ A ไว้ จากนั้นคง C ไว้ตามเดิม คุณจะใช้คำสั่งใดในตัวแก้ไขการรีเบสแบบโต้ตอบ (เรียงจากเก่าที่สุดไปใหม่ที่สุด)

ทบทวนการรีเบสแบบโต้ตอบ

คุณได้เรียนรู้เกี่ยวกับคำสั่ง git rebase -i ที่ทรงพลังแล้ว!

  • คำสั่งนี้ช่วยให้คุณเขียนประวัติการคอมมิตในเครื่องของคุณใหม่ได้
  • คุณสามารถใช้ reword เพื่อแก้ไขข้อความ ใช้ squash หรือ fixup เพื่อรวมการคอมมิต ใช้ drop เพื่อลบการเปลี่ยนแปลงที่ไม่ต้องการ และยังเรียงลำดับการคอมมิตใหม่ได้
  • โปรดจำกฎทองไว้เสมอ: NEVER รีเบสการคอมมิตที่ถูกส่งไปยังคลังข้อมูลระยะไกลที่ใช้ร่วมกันแล้ว

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

คำถามที่พบบ่อย

บทเรียน “การรีเบสแบบโต้ตอบเพื่อจัดการประวัติ” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “การรีเบสแบบโต้ตอบเพื่อจัดการประวัติ” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Git & GitHub Professional Workflow ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Git & GitHub Professional Workflow มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “การรีเบสแบบโต้ตอบเพื่อจัดการประวัติ”

ใช้การรีเบสแบบโต้ตอบเพื่อเขียนประวัติคอมมิตใหม่ รวมคอมมิต จัดลำดับใหม่ หรือแก้ไขข้อความก่อนพุช คุณปฏิบัติ Git & GitHub Professional Workflow ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Git & GitHub Professional Workflow หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Git & GitHub Professional Workflow บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน

บทเรียน “การรีเบสแบบโต้ตอบเพื่อจัดการประวัติ” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Git & GitHub Professional Workflow นี้ได้ไหม

ได้ บทเรียน Git & GitHub Professional Workflow ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. การแก้ไขข้อขัดแย้งจากการผสานด้วยตนเอง
  2. การรีเบสแบบโต้ตอบเพื่อจัดการประวัติ
  3. การเลือกคอมมิตด้วย Cherry-pick
  4. การใช้ Git Rerere เพื่อนำการแก้ข้อขัดแย้งกลับมาใช้ใหม่
← กลับไปที่ Git & GitHub Professional Workflow