2012-09-18 15 views
11

(यह तरह यह करने के लिए बहुत आसान होना चाहिए लगता है, फिर भी मैं अब तक खोजों पर खाली ऊपर आ रहा हूँ।)Git - किसी विशेष टैग में रिबेसिंग

मैं एक नदी के ऊपर से कोड की एक संस्था है विभिन्न शाखाओं पर टैग किए गए विभिन्न संस्करणों के साथ स्रोत।

मैं अपनी "विकास" शाखा पर काम कर रहा हूं जो टैग "v1.0" पर आधारित था। तब से कई संस्करण सामने आए हैं, लेकिन "v2.0" दिलचस्प है, जबकि मैं अपनी विकास शाखा को "v1.5" पर पुनर्जीवित करना चाहता हूं और वहां काम करना जारी रखता हूं (मान लीजिए कि मैं उस बैक अपस्ट्रीम को खिलाने की योजना नहीं बना रहा हूं)। शायद बाद में मैं इसे फिर से "v2.0" पर दूंगा।

(इस प्रयोजन के लिए मान लेते हैं "v1.x" रों उसी शाखा पर सभी टैग कर रहे हैं। अतिरिक्त क्रेडिट के लिए हम मान सकते हैं "v2.0" एक और शाखा पर एक टैग है।) मैं करने में सक्षम था आसानी से "v1.0" टैग के आधार पर आरंभिक "विकसित" शाखा बनाएं, लेकिन रीबेस केवल शाखाओं के साथ काम करता है। टैग का उपयोग करके कोई भी रीबेस नहीं कर सकता? यदि नहीं, तो इसे पूरा करने का सही तरीका क्या है (ताकि किसी विशेष टैग को रीबेस करने के समान प्रभाव हो)?

git rebase --onto v1.5 v1.0 develop 

कमान की develop हिस्सा एक शाखा होना चाहिए, लेकिन अन्य दो आप जो कुछ भी चाहते हो सकता है:

+0

आप एक टैग को _to_ कर सकते हैं। यदि आप ऐसा नहीं कर सकते हैं, तो कृपया आपके द्वारा उपयोग किए गए आदेश को शामिल करें। –

+0

हम्म! मैं इसे टोर्टोइज गिट के साथ कर रहा था (जो फ्लैट आउट टैग के साथ रीबेज करने का विकल्प नहीं देता है - या यह करता है?) और फिर मैंने इसे गिट बैश में करने की कोशिश की और इसका कोई प्रभाव नहीं पड़ा ... लेकिन मुझे स्पष्ट रूप से एक वाक्यविन्यास त्रुटि थी (मैंने कोशिश की "गिट रिबेस विकसित v1.5" जो गलत था ... मैंने अभी "गिट रिबेज v1.5" का उपयोग किया है, जिसे चेक आउट किया गया है और ऐसा लगता है कि यह काम करता है)। संपादित करें: वास्तव में, मैंने ऐसा एक कारण के लिए किया था, जो कि कहीं और नहीं मिला एक अच्छा उदाहरण था। – MartyMacGyver

+0

मुझे लगता है कि चेकआउट और रीबेस इसे करने का मानक तरीका है। –

उत्तर

13

आप निम्न आदेश का प्रयोग करेंगे।

+0

ऐसा लगता है कि मैंने मूल रूप से वाक्यविन्यास को खराब कर दिया, इस प्रकार मेरा प्रश्न सामने आया। और कछुआ के रिबेस विकल्प में इस कार्यक्षमता की जाहिर तौर पर अनुपस्थिति ने मुझे सवाल किया कि यह संभव है या नहीं। हालांकि, यह धागा मेरी अपेक्षा से अधिक जानकारीपूर्ण साबित हुआ है। धन्यवाद! – MartyMacGyver

+0

अनुवर्ती: मैंने इसे आगे और पीछे जाने की कोशिश की है। यह वास्तव में मेरी मूल परीक्षण विलय शाखा-टू-शाखा से टोर्टोइज गिट का उपयोग करके कम जटिल साबित हुआ (जो, क्योंकि पूर्वज टैग निर्दिष्ट नहीं किया जा सका, अनावश्यक विलय "संघर्ष" फेंक रहा था जो अतिरिक्त जानकारी के साथ स्वचालित रूप से हल हो सकता था कमांड लाइन गिट करता है। यह अभी भी आसान सॉफ्टवेयर है, लेकिन स्पष्ट रूप से यह रीबेज को पूरी तरह से संभाल नहीं सकता है। – MartyMacGyver

संबंधित मुद्दे