ตกลงฉันคิดว่านี่เป็นสถานการณ์คอมไพล์อย่างง่ายฉันจะพลาดอะไรไป
ฉันมีmaster
สาขาและfeature
สาขา ฉันทำงานบางอย่างทำงานmaster
บ้างfeature
แล้วก็ทำงานต่อmaster
ไป ฉันท้ายด้วยบางสิ่งเช่นนี้ (คำสั่งทำพจนานุกรมหมายถึงคำสั่งของการกระทำ):
A--B--C------F--G (master)
\
D--E (feature)
ฉันไม่มีปัญหาในgit push origin master
การmaster
อัปเดตรีโมตและไม่มีgit push origin feature
(เมื่อเปิดfeature
) เพื่อรักษาการสำรองข้อมูลระยะไกลสำหรับfeature
งานของฉัน จนถึงตอนนี้เราก็ยังดี
แต่ตอนนี้ผมอยากจะ rebase feature
ที่ด้านบนของF--G
กระทำบนต้นแบบดังนั้นฉันและgit checkout feature
git rebase master
ยังคงดีอยู่. ตอนนี้เรามี:
A--B--C------F--G (master)
\
D'--E' (feature)
ปัญหา:ทันทีที่ฉันต้องการสำรองfeature
กิ่งที่ถูกรีบาวด์ใหม่git push origin feature
, การกดจะถูกปฏิเสธเนื่องจากต้นไม้มีการเปลี่ยนแปลงเนื่องจากการรีบูท git push --force origin feature
นี้สามารถแก้ไขได้เฉพาะกับ
ฉันเกลียดการใช้--force
โดยไม่แน่ใจว่าฉันต้องการมัน ดังนั้นฉันต้องการมันหรือไม่? การรีบูตจำเป็นต้องบอกเป็นนัยว่าสิ่งต่อไปpush
ควรเป็นจริง--force
หรือไม่?
สาขาคุณลักษณะนี้ไม่ได้ใช้ร่วมกันกับ devs อื่น ๆ ดังนั้นผมจึงไม่มีปัญหาพฤตินัยด้วยการกดบังคับฉันจะไม่สูญเสียข้อมูลใด ๆ คำถามคือแนวความคิดอื่น ๆ อีกมากมาย