ตกลงฉันคิดว่านี่เป็นสถานการณ์คอมไพล์อย่างง่ายฉันจะพลาดอะไรไป
ฉันมี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 อื่น ๆ ดังนั้นผมจึงไม่มีปัญหาพฤตินัยด้วยการกดบังคับฉันจะไม่สูญเสียข้อมูลใด ๆ คำถามคือแนวความคิดอื่น ๆ อีกมากมาย