2012-12-20 14 views
6
प्रदर्शित नहीं करता है

संभव डुप्लिकेट:
Git - how to force merge conflict and manual merge on selected fileGit मर्ज के दौरान फ़ाइलों को अधिलेखित करता है - संघर्ष

हम दो शाखाओं के बीच किसी मर्ज करने के लिए कोशिश कर रहे हैं: स्थिर कोड, और नई सुविधाओं ।

मर्ज कार्यक्षमता हमारे लिए काम कर रहा है नहीं: यह कभी कभी संघर्ष से पता चलता है, लेकिन अक्सर बस किसी भी संघर्ष के हमें बताए बिना फ़ाइलों को अधिलेखित करता है, शायद यह क्या सोचता है कि सही संस्करण है के साथ।

यह इस अधिलेखित ब्लॉक करने के लिए इतना है कि यह हम सभी परस्पर विरोधी लाइनों से पता चलता संभव है? हमने गिट डिफ का उपयोग करने का प्रयास किया ताकि यह पता चल सके कि यह कितना व्यापक था लेकिन कुछ हज़ार लाइनें हैं क्योंकि हमारे पास हमारी स्थिर शाखा पर बहुत व्यापक डिबगिंग थी ... इसलिए हमें वास्तव में मर्ज कार्यक्षमता को संभवतः काम करने की आवश्यकता होगी ।

तो हम थोड़ी गड़बड़ी की स्थिति में हैं, सभी मदद की सराहना करेंगे।

उत्तर

2

जैसा कि मुझे नहीं पता कि आपकी समस्या को पुन: उत्पन्न करने के लिए, मुझे कुछ अनुमान लगाने की आवश्यकता है।

मेरे अनुभव में, Git मर्ज आसपास के भ्रम की स्थिति आम तौर पर मर्ज करने से पहले एक git pull --rebase करके कम किया जा सकता। यह रिमोट से नवीनतम परिवर्तनों में खींचता है, और उन पर आपके परिवर्तन विलीन करता है। हालांकि, अगर आप अपने बदलावों को पहले की प्रतिबद्धता में विलय करना चाहते हैं तो ऐसा न करें। किसी भी मामले में, pull करने से पहले नवीनतम प्रतिबद्ध आईडी को नोट करें, ताकि कोई समस्या होने पर आप इसे वापस कर सकें।

अब मर्ज ही के लिए आ रहा है, तो आप के लिए प्रतिबद्ध होने से मर्ज को रोकने के लिए git merge --no-ff --no-commit उपयोग करने का प्रयास कर सकता है। मुझे नहीं पता कि यह आपको पूर्ण संघर्ष रिपोर्ट देगा जो आप देखना चाहते हैं, लेकिन यह आपको मर्ज परिणाम (सिमुलेशन मोड की तरह) की जांच करने की अनुमति देता है। यदि आपको परिणाम पसंद नहीं है, तो आप git reset --hard का उपयोग करके विलय को वापस कर सकते हैं।

1

आप क्या कर सकते हैं, मर्ज के रूप में चलाया जाता है:

git merge --no-commit --no-ff your-branch 

यह मर्ज नहीं बनाएगा मास्टर प्रतिबद्ध या तेजी से आगे, बल्कि केवल अपने काम निर्देशिका में मर्ज किए गए फ़ाइलों डाल देंगे। आप परिवर्तनों की जांच कर सकते हैं। एक बार जब आप संतुष्ट हैं तो आप एक git commit करते हैं या git reset --hard

+0

धन्यवाद ShadyKiller, और एपी करके अपनी भूल सुधार कर सकते हैं। आपके समाधान के लिए। वे हमें यह हल करने के लिए एक लीड देते हैं कि यह कैसे हल किया जाए, लेकिन ऐसा लगता है कि अभी भी इस विलय विधि का उपयोग करते हुए, कुछ कोड आसानी से दिखाई देने के बिना अनदेखा हो जाते हैं। हम यह पता लगाने की कोशिश कर रहे हैं कि क्यों। अगर हम आगे बढ़ सकते हैं तो हम यहां वापस पोस्ट करेंगे। एक बार फिर धन्यवाद। –

+0

हैलो @ एरिकहिलैंड हम भी एक ही मुद्दे का सामना कर रहे हैं। क्या आपके पास इस पर कोई अपडेट है? –

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