विजुअल स्टूडियो कोड कैसे जीआईटी के साथ मर्ज संघर्ष को हल करने के लिए?


106

मैंने अपनी शाखा को दूसरी शाखा के साथ मिलाने की कोशिश की और एक विलय संघर्ष हो गया। विज़ुअल स्टूडियो कोड (संस्करण 1.2.1) में मैंने सभी मुद्दों को हल किया, हालांकि जब मैं इसे करने की कोशिश करता हूं तो मुझे यह संदेश देता रहता है:

अपने परिवर्तनों को करने से पहले आपको पहले विलय किए गए परिवर्तनों को हल करना चाहिए।

मैंने इसे गुगली करने की कोशिश की है, लेकिन मुझे यह पता नहीं चल पाया है कि यह मुझे मेरे बदलावों के लिए प्रतिबद्ध क्यों नहीं करेगा, सभी संघर्ष गायब हो गए हैं।


1
जबकि आपने जो कहा है वह सही है, यह प्रश्न में समस्या को हल नहीं करता है। मैंने स्पष्ट रूप से कहा है कि मैंने पहले ही प्रश्न में सभी मर्ज संघर्षों को हल कर दिया है।
annedroiid

जवाबों:


109

VSCode के साथ आप निम्न यूआई के साथ आसानी से मर्ज संघर्ष पा सकते हैं। यहां छवि विवरण दर्ज करें

(यदि आपके पास टॉपबार नहीं है, तो "editor.codeLens": trueउपयोगकर्ता वरीयताएँ में सेट करें )

यह वर्तमान परिवर्तन को दर्शाता है जो आपके पास है और सर्वर से आने वाला परिवर्तन है। इससे संघर्षों को हल करना आसान हो जाता है - बस ऊपर दिए गए बटन दबाएं <<<< HEAD

यदि आपके पास कई परिवर्तन हैं और वे सभी को एक साथ लागू करना चाहते हैं - ओपन कमांड पैलेट (देखें -> कमांड पैलेट) और मर्ज टाइप करना शुरू करें - कई विकल्प शामिल होंगे Merge Conflict: Accept Incoming, आदि।


1
क्या आपको नवीनतम अपडेट मिला है! मैं प्रत्येक पंक्ति में
दिखाऊंगा


1
इन मर्ज को कैसे प्राप्त करें, दृश्य स्टूडियो कोड में संघर्ष के विकल्प को हल करें।
user630209

1
कैसे, किसी भी शॉर्टकट? मैं अपनी संघर्ष फ़ाइल में वह विकल्प नहीं देख सकता।
user630209

1
@RyeGuy उन विकल्पों को CodeLens के माध्यम से दिखाया जाता है, इसलिए आपके पास CodeLens सक्षम होना चाहिए (देखें कोड ।visualstudio.com/Docs/editor/… )।
गेरी बोरबस

71

परीक्षण और त्रुटि के बाद मुझे पता चला कि आपको उस फ़ाइल को स्टेज करना होगा जिसमें मर्ज संघर्ष था, फिर आप मर्ज कर सकते हैं।


1
हाँ सही। कोई भी कमिट, चाहे वह मर्ज संघर्ष हो या आपकी स्थानीय कमेटी जिसे आप धक्का देने की कोशिश कर रहे हैं, इससे पहले कि आप उस कमिट को पुश कर सकें।
सुरेन्द्रपांडे

1
उन लोगों के लिए जो उलझन में हैं यदि git add .सभी फाइलें स्टेज नहीं करती हैं, तो जांचें कि क्या आप प्रोजेक्ट की रूट डायरेक्टरी में हैं। मुझे पता लगाने के लिए कुछ समय लगा। फिर git add .सभी फाइलों को चरणबद्ध करने के लिए, और फिर इसने मुझेgit merge --continue
badadiku

और मर्ज संघर्ष को हल करने के बाद, आपको मर्ज किए गए परिवर्तनों को संग्रहीत करने से पहले पहले विवादित फ़ाइल को सहेजना होगा।
nclark

22

उन लोगों के लिए जो "मर्ज बटन" खोजने में कठिन समय बिता रहे हैं।

मर्ज विकल्पों के साथ थोड़ा लाइटबुल आइकन केवल तभी दिखाता है जब आप "मर्ज संघर्ष मार्कर" पर ठीक क्लिक करते हैं

<<<<<<<

चरण (वीएस कोड 1.29.x में):


19
  1. बाईं ओर "स्रोत नियंत्रण" बटन पर क्लिक करें।
  2. साइडबार में MERGE CHANGES देखें।
  3. उन फ़ाइलों को मर्ज विरोध है।

वीएस कोड> स्रोत नियंत्रण> मर्ज परिवर्तन (उदाहरण)


1
मेरे पास विकल्प "वर्तमान परिवर्तन को स्वीकार करें। आने वाले परिवर्तन को स्वीकार करें ..." था, लेकिन अब ये विकल्प सिर्फ पंक्ति से गायब हो गए, किसी भी विचार से इस विकल्प को फिर से कैसे प्रकट किया जाए?
जेट_चोंग

15

आपको मिलने वाला त्रुटि संदेश Git का एक परिणाम है, यह सोचकर कि आपने मर्ज संघर्षों को हल नहीं किया है। वास्तव में, आपके पास पहले से ही है, लेकिन आपको Git को यह बताने की आवश्यकता है कि आपने इसे हल की गई फाइलों को इंडेक्स में जोड़कर किया है।

इसका साइड इफेक्ट है कि आप वास्तव में संघर्षों को हल किए बिना केवल फाइलें जोड़ सकते हैं , और गिट अभी भी सोचेंगे कि आपके पास है। इसलिए आपको यह सुनिश्चित करने में मेहनती होना चाहिए कि आपने वास्तव में संघर्षों को हल कर लिया है। तुम भी निर्माण और चलाने से पहले कोड का परीक्षण कर सकते हैं।


3

वीएस कोड 1.38 के लिए या यदि आपको कोई "लाइटबुलब" बटन नहीं मिला। संघर्षों के ऊपर ग्रेयर्ड आउट टेक्स्ट पर पूरा ध्यान दें; आपके द्वारा किए जा सकने वाले कार्यों की एक सूची है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.