(यह तरह यह करने के लिए बहुत आसान होना चाहिए लगता है, फिर भी मैं अब तक खोजों पर खाली ऊपर आ रहा हूँ।)Git - किसी विशेष टैग में रिबेसिंग
मैं एक नदी के ऊपर से कोड की एक संस्था है विभिन्न शाखाओं पर टैग किए गए विभिन्न संस्करणों के साथ स्रोत।
मैं अपनी "विकास" शाखा पर काम कर रहा हूं जो टैग "v1.0" पर आधारित था। तब से कई संस्करण सामने आए हैं, लेकिन "v2.0" दिलचस्प है, जबकि मैं अपनी विकास शाखा को "v1.5" पर पुनर्जीवित करना चाहता हूं और वहां काम करना जारी रखता हूं (मान लीजिए कि मैं उस बैक अपस्ट्रीम को खिलाने की योजना नहीं बना रहा हूं)। शायद बाद में मैं इसे फिर से "v2.0" पर दूंगा।
(इस प्रयोजन के लिए मान लेते हैं "v1.x" रों उसी शाखा पर सभी टैग कर रहे हैं। अतिरिक्त क्रेडिट के लिए हम मान सकते हैं "v2.0" एक और शाखा पर एक टैग है।) मैं करने में सक्षम था आसानी से "v1.0" टैग के आधार पर आरंभिक "विकसित" शाखा बनाएं, लेकिन रीबेस केवल शाखाओं के साथ काम करता है। टैग का उपयोग करके कोई भी रीबेस नहीं कर सकता? यदि नहीं, तो इसे पूरा करने का सही तरीका क्या है (ताकि किसी विशेष टैग को रीबेस करने के समान प्रभाव हो)?
git rebase --onto v1.5 v1.0 develop
कमान की develop
हिस्सा एक शाखा होना चाहिए, लेकिन अन्य दो आप जो कुछ भी चाहते हो सकता है:
आप एक टैग को _to_ कर सकते हैं। यदि आप ऐसा नहीं कर सकते हैं, तो कृपया आपके द्वारा उपयोग किए गए आदेश को शामिल करें। –
हम्म! मैं इसे टोर्टोइज गिट के साथ कर रहा था (जो फ्लैट आउट टैग के साथ रीबेज करने का विकल्प नहीं देता है - या यह करता है?) और फिर मैंने इसे गिट बैश में करने की कोशिश की और इसका कोई प्रभाव नहीं पड़ा ... लेकिन मुझे स्पष्ट रूप से एक वाक्यविन्यास त्रुटि थी (मैंने कोशिश की "गिट रिबेस विकसित v1.5" जो गलत था ... मैंने अभी "गिट रिबेज v1.5" का उपयोग किया है, जिसे चेक आउट किया गया है और ऐसा लगता है कि यह काम करता है)। संपादित करें: वास्तव में, मैंने ऐसा एक कारण के लिए किया था, जो कि कहीं और नहीं मिला एक अच्छा उदाहरण था। – MartyMacGyver
मुझे लगता है कि चेकआउट और रीबेस इसे करने का मानक तरीका है। –