ในความพยายามที่จะบรรลุมรรคผลนิพพานฉันใช้เวลาทั้งวันในการเรียนรู้วิธีใช้ประโยชน์จาก rebase สำหรับสถานการณ์ที่ฉันรวมอยู่ในปัจจุบัน
เมื่อเรียกใช้สิ่งที่ฉันคิดว่าเป็นขั้นตอน git 101 (ซึ่งฉันสะกดไว้ด้านล่าง) ฉันต้องทำpush --force
เมื่อผลักการเปลี่ยนแปลงกลับไปที่จุดเริ่มต้น
ฉันไม่ใช่คนเดียว - ฉันรู้ว่าสิ่งนี้ถูกปกคลุมไปด้วยพื้น (ดู1 , 2 , 3 , 4 , 5 ) และฉันเข้าใจเหตุผลทางเทคนิคว่าทำไมต้องมีกองกำลัง ปัญหาของฉันคือ - มีรายการบล็อกจำนวนมาก (หลายรายการ) ที่ร้องเพลงสรรเสริญ rebase และการเปลี่ยนแปลงชีวิตของพวกเขา (ดู1 , 2 , 3 , 4เพื่อแสดงรายการบางส่วน) แต่ไม่มีรายการใดที่กล่าวถึงซึ่งpush --force
เป็นส่วนหนึ่งของ กระแสของพวกเขา อย่างไรก็ตามเกือบทุกคำตอบสำหรับคำถาม stackoverflow ที่มีอยู่จะบอกว่า "ใช่ถ้าคุณจะปรับฐานใหม่ก็ต้องใช้push --force
"
ได้รับหมายเลขและศาสนาประชาสัมพันธ์ rebase ที่ฉันต้องเชื่อว่าการใช้ 'ดัน --force' ไม่ได้เป็นส่วนหนึ่งโดยธรรมชาติของการไหล rebase และว่าถ้ามีใครมักจะมีการบังคับให้ผลักดันของพวกเขาที่พวกเขากำลังทำอะไรผิดพลาด
นี่คือขั้นตอนของฉัน ฉันจะบรรลุผลลัพธ์เดียวกันได้อย่างไรโดยไม่ต้องใช้แรง?
ตัวอย่างง่ายๆ
สองสาขา:
- v1.0 - สาขารีลีสมีเฉพาะแพตช์
- หลัก - ทุกอย่างสำหรับรุ่นหลักถัดไป
ฉันมีแพตช์คอมมิชชันสองสามคอมมิตและคอมมิตสำหรับรีลีสถัดไป
ฉันต้องการรวมแพตช์ไว้ในต้นแบบของฉันเพื่อไม่ให้สูญหายไปในรุ่นถัดไป ก่อนการตรัสรู้ฉันเพียงแค่:
git checkout master
git merge v1.0
แต่ตอนนี้ฉันกำลังพยายาม
git checkout master
git rebase v1.0
ตอนนี้ฉันอยู่ที่นี่:
เวลาสำหรับ:
git push
ไม่มีลูกเต๋า