เรียบง่าย rebase จากต้นแบบด้วย magit?


11

ฉันเพิ่งอัพเกรดเป็น Magit รุ่นใหม่ล่าสุดที่ใช้เวอร์ชันเก่ามานานหลายปี การปรับปรุงทั้งหมดนั้นยอดเยี่ยมหลังจากการค้นหาเพียงเล็กน้อยและค้นหาความแตกต่าง

ตอนนี้ฉันแค่พยายามทำ rebase ที่ง่ายที่สุด (แบบไม่โต้ตอบ) magitและฉันไม่สามารถหาวิธีที่จะทำได้ นี่คือตัวอย่างจากhttps://git-scm.com/docs/git-rebase

git checkout topic
git rebase master
  1. ตี r
  2. ?
  3. สาขาหัวข้อของฉันถูก rebased ด้วยการเปลี่ยนแปลงล่าสุดจากต้นแบบ

3
เลือก "ที่อื่น" (กด "e") จากนั้นเลือก "ต้นแบบ" เพียงเพื่อให้แน่ใจว่า: คุณจะทำการ rebasing สาขาของคุณ "หัวข้อ" ในต้นแบบ (ไม่ใช่จาก ) บนหมายถึง Git จะมองหาบรรพบุรุษที่อายุน้อยที่สุดของ "master" และ "topic" จากนั้นทำงานในคอมมิชชันใน "topic" เพื่อนำไปใช้กับการเปลี่ยนแปลงใน "master" ในที่สุด "ต้นแบบ" จะยังคงไม่เปลี่ยนแปลง แต่ "หัวข้อ" จะรวมการเปลี่ยนแปลงจาก "ต้นแบบ" (ฉันกำลังเขียนสิ่งนี้โดยหวังว่าจะป้องกันข้อผิดพลาดนั่นคือถ้าคุณคิดว่าการรีบูตจากต้นแบบจะทำในสิ่งที่ตรงกันข้าม)
wvxvw

2
โปรดทราบว่าถ้าคุณตั้งต้นน้ำสาขาของคุณ - คุณสามารถพิมพ์bแล้วuซ้ำ ๆ เพื่อวงจรผ่านตัวเลือกที่รู้จักกัน ( origin/masterเป็นปกติ) - ว่าแล้วจะกลายเป็นตัวเลือกเริ่มต้นที่จะเข้าสู่ rebase (ผ่านr u)
phils

3
คุณควรอ่านmagit.vc/manual/magit/Rebasing.html
phils

ขอบคุณสำหรับความคิดเห็น นั่นชัดเจนขึ้นสำหรับฉัน ฉันอ่านหน้าการรีบูตของ Magit แต่มันก็ไม่สมเหตุสมผล ฉันคิดว่าคำว่า 'สู่' เป็นปัญหา ตอนนี้ฉันใช้ 'r' แล้ว 'e' เพื่อผสานล่าสุดจากต้นแบบ แต่การรู้วิธีตั้งค่าอัปสตรีมของฉันด้วย 'b' 'u' ก็มีประโยชน์เช่นกัน
Andrew Goodnough

@wvxvw คุณช่วยเปลี่ยนความคิดเห็นนั้นเป็นคำตอบได้ไหม?
Tarsius

คำตอบ:


17
  1. กดr (rebase)ในบัฟเฟอร์สถานะ Magit สิ่งนี้จะแสดงป๊อปอัพบัฟเฟอร์พร้อมตัวเลือกเพิ่มเติม
  2. กดe (ที่อื่น)เพื่อเริ่มการรีบูทในสาขาอื่น
  3. เลือกสาขาที่จะ rebase บนโดยการตอบพรอมต์(หมายเหตุ: สาขาที่เลือกไม่ได้แก้ไขสาขาปัจจุบัน)
  4. กระบวนการ rebase จะเริ่มต้นและตอนนี้คุณจะมีตัวเลือกมากขึ้นในเมนู rebase: rเพื่อดำเนินการต่อ(หลังจากแก้ไขปัญหาความขัดแย้ง) , aยกเลิก(กระบวนการ rebase ทั้งจะม้วนกลับไปก่อนที่จะ rebase)และsที่จะข้ามไป(บางครั้ง Git ได้รับสับสนตัวอย่างเช่น เมื่อกระทำการปรากฏขึ้นของคุณไม่ได้ที่จะแนะนำการเปลี่ยนแปลงใด ๆ ที่อาจจะเกิดขึ้นเมื่อมีสาขาในปัจจุบันของคุณและสาขาเป้าหมายทั้งเพิ่มการปรับเปลี่ยนเหมือนกัน)
  5. การกระทำของคุณจะถูกนำไปใช้กับการกระทำในสาขาเป้าหมาย หากพวกเขาใช้ไม่ได้อย่างราบรื่นคุณจะเห็นความคืบหน้าและความขัดแย้งในบัฟเฟอร์สถานะ Magit
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.