คุณสามารถใช้การรวมแบบอนุกรมของgit rebase
และgit branch
เพื่อใช้กลุ่มของการผูกมัดกับสาขาอื่น ดังที่โพสต์แล้วโดย wolfcคำสั่งแรกคัดลอกการกระทำจริง อย่างไรก็ตามการเปลี่ยนแปลงจะไม่สามารถมองเห็นได้จนกว่าคุณจะเพิ่มชื่อสาขาไปยังการคอมมิชชันสูงสุดของกลุ่ม
กรุณาเปิดภาพในแท็บใหม่ ...
ในการสรุปคำสั่งในรูปแบบข้อความ:
- เปิดgitkเป็นกระบวนการอิสระโดยใช้คำสั่ง:
gitk --all &
.
git rebase --onto a b f
วิ่ง
- ข่าวF5ในgitk ไม่มีอะไรเปลี่ยนแปลง แต่ไม่มีการ
HEAD
ทำเครื่องหมาย
- วิ่ง
git branch selection
- ข่าวF5ในgitk สาขาใหม่ที่มีความมุ่งมั่นจะปรากฏขึ้น
สิ่งนี้ควรอธิบายสิ่งต่าง ๆ :
- กระทำ
a
คือปลายทางรากใหม่ของกลุ่ม
- กระทำ
b
คือกระทำก่อนที่จะกระทำครั้งแรกของกลุ่ม (พิเศษ)
- กระทำ
f
คือกระทำสุดท้ายของกลุ่ม (รวม)
หลังจากนั้นคุณสามารถใช้git checkout feature && git reset --hard b
เพื่อลบการกระทำc
จนf
จากfeature
สาขา
นอกเหนือจากคำตอบนี้ฉันได้เขียนบล็อกโพสต์ซึ่งอธิบายคำสั่งในสถานการณ์อื่นซึ่งควรช่วยในการใช้งานโดยทั่วไป
b
ใช้ในf
ภายหลัง แต่ไม่เกี่ยวข้องกับการเก็บเชอร์รี่)