दिलचस्प पोस्ट
एंड्रॉइड लिस्ट्यूव्यू रीफ्रेश सिंगल रो ट्रिगर ईवेंट जब उपयोगकर्ता विशिष्ट तत्व तक स्क्रॉल करता है – jQuery के साथ स्कैनर से एक चार इनपुट ले लो संदर्भ: mod_rewrite, URL पुनर्लेखन और "सुंदर लिंक" समझाया कैसे linq में linq में शामिल करने के लिए विधि वाक्यविन्यास के साथ एसक्यूएल? स्क्रीन चमक को प्रोग्रामेटिक रूप से परिवर्तित करना (पावर विजेट के साथ) बस त्रुटि क्या है? JSON.stringify और JSON.parse के बीच अंतर एंड्रॉइड में वाईफ़ाई कनेक्शन स्थापित किया गया है जब कैसे पता लगाने के लिए? वर्तमान पंक्ति के विवरण को पी से कैसे दिखाएं: डेटा एटी में डेटा: संवाद और सहेजने के बाद अपडेट करें पायथन अनुकरण keydown पैकेज के अजगर 3 संस्करण को उबंटू पर पीआईपी के माध्यम से कैसे स्थापित किया जाए? दो ग्राफ़ किनारे संरेखित करें (ggplot) पाठ नोड्स के लिए कोई सीएसएस चयनकर्ता है? एक BKS (BouncyCastle) प्रारूप जावा कुंजीस्टोर बनाने के लिए जिसमें क्लाइंट प्रमाणपत्र श्रृंखला शामिल है

मैं एक विलय संघर्ष में भाग गया मैं मर्ज कैसे रोक सकता हूं?

मैं git pull इस्तेमाल किया और एक विलय संघर्ष था। मुझे पता है कि फ़ाइल का दूसरा संस्करण अच्छा है और यह मेरा बुरा है इसलिए मेरे सभी बदलावों को त्याग दिया जाना चाहिए मैं यह कैसे करु?

 unmerged: _widget.html.erb You are in the middle of a conflicted merge. 

वेब के समाधान से एकत्रित समाधान "मैं एक विलय संघर्ष में भाग गया मैं मर्ज कैसे रोक सकता हूं?"

चूंकि आपकी pull असफल थी, इसलिए HEAD (नहीं HEAD^ ) आपकी शाखा पर आखिरी "मान्य" प्रतिबद्धता है:

 git reset --hard HEAD 

आप चाहते हैं कि दूसरे टुकड़े अपने परिवर्तनों को अपने बदलावों के ऊपर से जाने दें।

जीआईटी के पुराने संस्करणों ने "उनकी" मर्ज रणनीति का उपयोग करने की अनुमति दी:

 git pull --strategy=theirs remote_branch 

लेकिन इसके बाद से इसे हटा दिया गया है, जैसा कि जूनो हैममानो (जीआईटी के रखरखाव) द्वारा इस संदेश में बताया गया है। जैसा कि लिंक में बताया गया है , इसके बजाय आप ऐसा करेंगे:

 git fetch origin git reset --hard origin 

यदि आपका git संस्करण> = 1.6.1 है, तो आप git reset --merge उपयोग कर सकते हैं।

इसके अलावा, जैसा कि @ माइकल जॉनसन का उल्लेख है, अगर आपका जीआईटी संस्करण> = 1.7.4 है, तो आप git merge --abort भी उपयोग कर सकते हैं।

हमेशा की तरह, मर्ज शुरू करने से पहले सुनिश्चित करें कि आपके पास कोई अवर्गीकृत परिवर्तन नहीं है।

जीआईटी मर्ज मैन पेज से

git merge --abort git reset --merge बराबर है – जब MERGE_HEAD मौजूद है MERGE_HEAD

मर्ज प्रगति पर है जब MERGE_HEAD मौजूद है।

साथ ही, मर्ज शुरू करते समय असम्बद्ध परिवर्तनों के संबंध में:

यदि आपने परिवर्तन किया है, तो आप मर्ज शुरू करने से पहले कमिट नहीं करना चाहते हैं, तो मर्ज होने से पहले मर्ज और git stash pop बाद उसे git stash pop के लिए या मर्ज को समाप्त कर दें।

 git merge --abort 

मौजूदा संघर्ष समाधान प्रक्रिया को निरस्त करें, और पूर्व-मर्ज स्थिति को फिर से संगठित करने का प्रयास करें।

अगर मर्ज की शुरूआत में बिना वर्जित वर्कट्री बदलाव मौजूद थे, तो कुछ मामलों में git merge --abort विल इन परिवर्तनों के पुनर्निर्माण में असमर्थ होगा। इसलिए गिट मर्ज चलाने से पहले हमेशा अपने बदलावों को कमाने या छिपाने की सिफारिश की जाती है।

git merge --abort git reset --merge बराबर है – जब MERGE_HEAD मौजूद है MERGE_HEAD

http://www.git-scm.com/docs/git-merge

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

एक अलग रणनीति के साथ एक मर्ज को रीसेट करने और प्रदर्शन करने की कोई विशेष आवश्यकता नहीं है, या तो संघर्षों को सही ढंग से जीआईटी द्वारा हाइलाइट किया गया है और अन्य पक्षों को स्वीकार करने की आवश्यकता केवल एक फ़ाइल के लिए है

विवादित जीआईटी में एक अप्रकाशित फ़ाइल के लिए सूचकांक में फाइल का स्थानीय आधार, स्थानीय और रिमोट संस्करण उपलब्ध है। (यह वह जगह है जहां से वह 3-रास्ता अंतर उपकरण में उपयोग के लिए git mergetool द्वारा पढ़ा जाता है।) आप उन्हें देखने के लिए git show का उपयोग कर सकते हैं।

 # common base: git show :1:_widget.html.erb # 'ours' git show :2:_widget.html.erb # 'theirs' git show :3:_widget.html.erb 

रिमोट संस्करण वर्बैटिम का उपयोग करने के लिए संघर्ष को हल करने का सबसे आसान तरीका यह है:

 git show :3:_widget.html.erb >_widget.html.erb git add _widget.html.erb 

या, git> = 1.6.1 के साथ:

 git checkout --theirs _widget.html.erb 

मुझे लगता है कि यह आपको git reset की आवश्यकता है।

सावधान रहें कि git revert मतलब कुछ बहुत ही अलग है, कहते हैं, svn revert – उपवर्तन में वापसी आपके (अव्यवस्थित) परिवर्तन को त्याग देगा, फाइल को वर्तमान संस्करण में रिपॉजिटरी से लौटाएगी, जबकि git revert "प्रतिबद्धता को" पूर्ववत कर देगा।

git reset को svn revert के बराबर करना चाहिए, जो कि आपके अवांछित बदलावों को त्याग दें।

चूंकि टिप्पणियों का सुझाव है कि git reset --merge git merge --abort लिए एक उपनाम है git merge --abort , यह ध्यान देने योग्य है कि git merge --abort केवल git reset --merge बराबर है – दिया गया है कि एक MERGE_HEAD मौजूद है। यह मर्ज कमांड के लिए git help में पढ़ा जा सकता है।

 git merge --abort is equivalent to git reset --merge when MERGE_HEAD is present. 

असफल मर्ज होने के बाद, जब कोई MERGE_HEAD नहीं MERGE_HEAD , तो असफल मर्ज git reset --merge साथ MERGE_HEAD किया जा सकता है, लेकिन जरूरी नहीं कि git merge --abort , इसलिए वे एक ही बात के लिए केवल पुरानी और नई सिंटैक्स नहीं हैं

निजी तौर पर मुझे git reset --merge मिल रहा है – वर्णित एक जैसा परिदृश्यों के लिए और अधिक शक्तिशाली बनाने के लिए, और सामान्य रूप से विलय करने में विफल रहा।

चूंकि गिट 1.6.1.3 git checkout मर्ज के दोनों ओर से चेकआउट करने में सक्षम रहा है:

 git checkout --theirs _widget.html.erb 

एक विकल्प, जो काम की प्रति की स्थिति को सुरक्षित रखता है:

 git stash git merge --abort git stash pop 

मैं आमतौर पर इसके खिलाफ सलाह देता हूं, क्योंकि यह प्रभावी रूप से उप-विजन में विलय की तरह है क्योंकि यह निम्नलिखित प्रतिबद्धताओं में शाखा संबंधों को दूर करता है।

मैंने पाया कि निम्नलिखित मेरे लिए काम किया है (एक फ़ाइल को पूर्व-विलय करने के लिए पूर्ववत करें):

 git reset *currentBranchIntoWhichYouMerged* -- *fileToBeReset*