2012-11-27 7 views
84

मान लें कि मैं merge गिट मानता हूं और एक विलय संघर्ष है।बल गिट हमेशा मर्ज के दौरान नए संस्करण को चुनने के लिए?

मेरा सवाल है: मैं गिट को हमेशा संघर्ष में कोड के नए संस्करण को चुनने के लिए कैसे मजबूर कर सकता हूं, इसलिए मुझे हाथ से संघर्ष को हल करने की आवश्यकता नहीं होगी?

+0

संभव डुप्लिकेट (http://stackoverflow.com/questions/4785107/git-pull-from-remote-can-i-force-it-to-overwrite-rather-than-report-conflicts) – Rawkode

+0

लेकिन मैं विलय करना चाहता हूं (काम नहीं करता ओवरराइड), लेकिन इसके अलावा विवादों को स्वचालित रूप से हल करने के लिए। – bartek

उत्तर

160

यह बिल्कुल "नया" संस्करण नहीं है, लेकिन आप git merge branch -X ours का उपयोग करके वर्तमान शाखा पर संस्करण को हमेशा पसंद करते हैं, या git merge branch -X theirs का उपयोग करके शाखा के संस्करण को विलय करने के लिए पसंद करते हैं।

man git-merge से

:

ours:

This option forces conflicting hunks to be auto-resolved cleanly by favoring our version. Changes from the other tree that do not conflict with our side are reflected to the merge result. For a binary file, the entire contents are taken from our side.

theirs:

This is the opposite of "ours".

+7

'हमारा'- 'उनका' !! बस इसे कहो और आप समझते हैं कि आदेश क्या करता है! मुझे गिट पसंद है! : डी – Haywire

+9

नोट: यदि आप पहले से ही 'गिट मर्ज शाखा' का उपयोग कर चुके हैं, तो आप इसे करने से पहले 'मर्ज मर्ज --बॉर्ट' की आवश्यकता होगी। –

+1

मेरे लिए काम नहीं करता है। यह अभी भी विलय बंद कर देता है। त्रुटि: निम्नलिखित अनचाहे काम करने वाली पेड़ फ़ाइलों को विलय करके अधिलेखित किया जाएगा: 'मुझे यह भी नहीं पता कि ये फाइलें इस शाखा में क्यों हैं, लेकिन उन्हें ओवरराइट किया जाना चाहिए, और गिट इनकार कर दिया जाना चाहिए। – mcv

15

मैं इस का उपयोग करें,

git fetch --prune 
git reset --hard origin/master 
[रिमोट से Git पुल .. मैं यह रिपोर्ट संघर्ष के बजाय अधिलेखित करने के लिए मजबूर कर सकते हैं?] की
+1

इस समाधान ने मुझे अनमोल संघर्षों को ठीक करने में मदद की जब मैं चाहता था कि मास्टर शाखा के साथ ओवरराइड किया जाए। मैंने गिट रीसेट का इस्तेमाल किया - हार्ड मास्टर (स्थानीय से) –

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