นี่คือวิธีการrebase
ทำงาน:
git checkout <my branch>
git rebase master
git checkout master
git merge <my branch>
สมมติว่าคุณมี
---o----o----o----o master
\---A----B <my branch>
สองคำสั่งแรก ... ส่ง git checkout git rebase master
... ตรวจสอบสาขาการเปลี่ยนแปลงที่คุณต้องการใช้กับmaster
สาขา rebase
คำสั่งใช้เวลากระทำจาก<my branch>
(ที่ไม่พบในmaster
) และ reapplies master
พวกเขาที่หัวของ ในคำอื่น ๆ ผู้ปกครองแรกกระทำใน<my branch>
ไม่เป็นก่อนหน้านี้กระทำในmaster
ประวัติศาสตร์ master
แต่หัวปัจจุบันของ คำสั่งสองคำนั้นเหมือนกับ:
git rebase master <my branch>
มันอาจจะง่ายกว่าที่จะจำคำสั่งนี้เพราะทั้ง "สาขา" และ "แก้ไข" สาขามีความชัดเจน
. ผลลัพธ์ประวัติครั้งสุดท้ายคือ:
---o----o----o----o master
\----A'----B' <my branch>
คำสั่งสุดท้ายสองคำ ...
git checkout master
git merge <my branch>
... ทำการรวมอย่างรวดเร็วเพื่อนำ<my branch>
การเปลี่ยนแปลงทั้งหมดไปmaster
ใช้ โดยไม่ต้องขั้นตอนนี้ rebase master
กระทำไม่ได้รับการบันทึก ผลลัพธ์สุดท้ายคือ:
---o----o----o----o----A'----B' master, <my branch>
master
และทั้งการอ้างอิง<my branch>
B'
นอกจากนี้จากจุดนี้จะปลอดภัยในการลบการ<my branch>
อ้างอิง
git branch -d <my branch>
--cached
ลิงก์git diff