पृष्ठभूमि: मैंने हाल ही में master
में एक बड़ी विषय शाखा विलय कर दी है। कुछ दिनों बाद मैंने पाया कि इस विषय शाखा में बग शामिल हैं। तो मैं git revert -m 1 <merge-commit>
इसे संपादित करें।रिवर्ट विलय वाली शाखा
समस्या: अब मैं विषय शाखा की जाँच और वर्तमान master
के खिलाफ यह rebase ताकि मैं 1 कर सकते हैं) कीड़े को ठीक करने और 2) (फिर) गुरु के साथ तय विषय शाखा विलय करना चाहते हैं। नई शाखा का निर्माण, fixedtopic
आसान हिस्सा है, लेकिन हर बार जब मैं
git checkout fixedtopic
git rebase master
Git फैसला करता है कि यह पुरानी प्रतिबद्ध पुनः चलाने के लिए, क्योंकि वे पहले से ही master
में विलय कर रहे हैं के लिए तैयार नहीं है है। इसके बजाय यह बस एक फास्ट-फॉरवर्ड रीबेस करता है।
प्रश्न: कैसे rebase
का उपयोग कर fixedtopic
पर प्रतिबद्ध की पुनरावृत्ति के लिए मजबूर कर सकते हैं? क्या मैं? मैं cherry-pick
का उपयोग नहीं करना चाहूंगा क्योंकि यह थोड़ा अधिक बोझिल है।
अतिरिक्त:
git reset
ing मर्ज यह नहीं करने के लिए एक विकल्प है, क्योंकि मैं मास्टर नदी के ऊपर धकेल दिया।- मैं
master
से नई शाखा नहीं बनाऊंगा और अपना रिवर्ट वापस कर दूंगा। इसका कारण यह है कि मैं इंटरैक्टिव रिबेस का उपयोग कर कुछ विषय शाखा के इतिहास को फिर से लिखना चाहता हूं। - यहां परिदृश्य का एक जिथब गिस्ट है: https://gist.github.com/JensRantil/6352495 ध्यान दें कि मुझे e8df5ec और ee16464
master
(याmaster
पर आधारित शाखा) पर लागू किया गया है।
एक सहकर्मी और मैं हाल ही में फीचर शाखा के साथ एक ही सटीक समस्या में आया। हमारा समाधान स्वीकार किए गए एक जैसा ही था, लेकिन हमने शाखा से सभी प्रतिबद्धताओं को एक ही प्रतिबद्धता में स्क्वैश करना चुना। यह पीछे हटने के लिए कार्यात्मक रूप से बराबर है, जो अंततः सरल है। भविष्य में इस समस्या का सामना करने वालों के लिए बस एक नोट। – sirosen