मेरे पास हाल ही में एक बहु-कंप्यूटर गिट विकास सेटअप के बारे में question answered था, और जिस समाधान में मैंने वहां पहुंचा, master
शाखा के साथ मेरी स्थिति को हल किया, लेकिन मास्टर के आधार पर साइड शाखाएं नहीं थीं।रिबेस की गई शाखाओं के गिट सिंक्रनाइज़ेशन
यहाँ मेरी मौजूदा सेटअप है:
A--B--C--D master
\
E--F--G--H BUG_37
BUG_37
एक शाखा है कि प्रणाली में एक सुविधा का अनुरोध के लिए एक वैकल्पिक ट्रैक किए गए बग करने के लिए एक ठीक विकसित कर रहा है है, और अंततः मास्टर लाइन में विलय हो जाएगा, लेकिन है समय के लिए अलग है।
A--B--C--D--I--J--K master
\
E--F--G--H BUG_37
मैं तो master
पर BUG_37
शाखा रिबेस, सुनिश्चित करने के लिए है कि यह सबसे वर्तमान परिवर्तन करने के लिए एक वृद्धि के रूप में काम कर रहा है: इस राज्य में भंडार के साथ, एक के बाद एक मशीन, मैं master
शाखा में कुछ परिवर्तन किए:
A--B--C--D--I--J--K master
\
E1--F1--G1--H1 BUG_37
मान लें कि रिबेस के कुछ संघर्ष थे जिन्हें रिबेज अंतिम होने से पहले मैन्युअल रूप से तय करने की आवश्यकता थी। अगर मैं उन परिवर्तनों को रिमोट रिपोजिटरी में दबाता हूं, और अब बदलाव को अन्य विकास प्रणाली पर खींचना चाहता हूं जिसमें मूल सेटअप अभी भी है, तो ऐसा करने का सबसे अच्छा तरीका क्या है? git pull --rebase
दोबारा रिबेस फिर से चलाएगा, और मुझे मैन्युअल रूप से उन संघर्षों से गुजरना होगा जिन्हें मैंने पहली बार किया था, है ना? और अगर मैं फिर से संघर्षों के माध्यम से थोड़ी गलती कर रहा हूं, तो इस नई प्रणाली में ई 1-एच 1 थोड़ा अलग है, तो मुझे संग्रह को और भी सिंक से बाहर कर दिया जाएगा।
मैं मूल स्थिति और तीसरे राज्य में रिमोट रिपोजिटरी में स्थानीय भंडार कैसे ले सकता हूं, और स्थानीय भंडार को रिमोट रिपोजिटरी से बिल्कुल मिलान करने के लिए अद्यतन किया जा सकता है (ईएच को बदलना और BUG_37
के सिर को नए में ले जाना स्थान)?