นี่คือวิธีการ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