कहते हैं कि मैं RepoX में दो शाखाओं BranchA और BranchB कहा जाता है की सुविधा देता है। रेपोक्स में SubmoduleY नामक एक सबमिशन भी है।Git: विलय और submodules
BranchA संशोधन पर SubmoduleY है 'एबीसी', BranchB SubmoduleY संशोधन पर 'डीईएफ़' है।
मैं BranchB में BranchA मर्ज करना चाहते हैं, लेकिन मैं 'डीईएफ़' के अपने मूल संशोधन की ओर इशारा करते BranchB के SubmoduleY छोड़ना चाहते हैं।
विधि 1::
- चेकआउट BranchB मैं ऐसा करने का कई तरह से देखते हैं।
- संशोधन 'एबीसी' में ले जाएँ SubmoduleY वास्तविक मर्ज दर्दरहित (हम अभी submodule स्तर पर किसी भी विलय करने के लिए नहीं करना चाहते हैं) बनाने के लिए।
- SubmoduleY के लिए नए संशोधन (हम इसे मर्ज के लिए चल नहीं हो सकता) प्रतिबद्ध होते हैं।
- शाखा बी को शाखा बी में मर्ज करें। किसी भी संघर्ष को हल करें।
- उप-मॉड्यूल वापस 'def' में संशोधन करें।
- सब मॉड्यूल के लिए नया संशोधन प्रतिबद्ध करें।
- पुश मुख्य रिपो में परिवर्तन करता है।
विधि 2:
विधि 1 के रूप में एक ही है, लेकिन बजाय चरण 6 करने का, rebase और अतिरिक्त submodule से छुटकारा पाने के कदम से प्रतिबद्ध 3.
दोनों कष्टप्रद कमियां है लगता है:
विधि 1 इतिहास में दो अतिरिक्त काम करता है।
विधि 2 सबमिशन संशोधन के साथ किए गए किसी भी बदलाव को भूल जाता है क्योंकि उनको हटा दिया जाता है। इसलिए, बाद में किसी भी विलय को फिर से कुछ समस्याओं का सामना करना पड़ेगा।
क्या कोई बेहतर तरीका है?
अच्छा समाधान! धन्यवाद। – Ben