2013-01-11 20 views
39

जब मैं मास्टर में गिट में एक शाखा विलय करता हूं तो अक्सर विलय विवाद मिल जाता है। क्या शाखा को विलय करने और मौजूदा शाखा में सामान को ओवरराइट करने का कोई तरीका है?गिट: विलय लेकिन ओवरराइटिंग परिवर्तन

+0

आपका मतलब एसवीएन में है - उनका उपयोग करें? – stdcall

+0

मर्ज के लिए स्वचालित रूप से एक तरफ चुनने का मेरा अनुभव कभी भी अच्छा नहीं रहा है .. साथ ही, क्या यह विलय विवादों का मुद्दा नहीं है कि यह जांचने के लिए कि अन्य लोगों ने उनके परिवर्तनों को हटाने से पहले क्या अन्य लोगों को बदल दिया है? – Molske

+3

यह वह है जिसने पहली जगह शाखा को स्थानीय रूप से बनाया है .. यह फाइल के माध्यम से घूमने और संघर्षों को हटाने की तुलना में तेज़ है –

उत्तर

55

-X ours अपने git merge कमांड में तर्क जोड़ें।

कहें कि आप अपनी स्थानीय शाखा में काम कर रहे हैं। तो फिर तुम क्या master में चला गया में मर्ज करना चाहते हैं:

git merge -X ours master 

दूसरी ओर यदि आप master में कर रहे हैं और master में अपनी स्थानीय शाखा मर्ज करना चाहते हैं तो @elhadi ठीक ही कहते हैं कि आप theirs उपयोग करना चाहिए:

git merge -X theirs somebranch 
+1

रणनीति उनका काम नहीं लेना है –

+0

@ इलाहादी मेरी समझ यह है कि जॉन हंट * उसे धक्का देना चाहता है * काम, नहीं उनके। – kmkaplan

+0

यह एक स्थानीय शाखा हाँ था। जैसे मैं कुछ ब्रैंच पर काम कर रहा हूं और मास्टर पर किसी के स्थान पर कुछ ब्रांच फ़ाइलों को मर्ज/प्रतिस्थापित करना चाहता हूं। –

4

अपनी शाखा में अपने कर्मचारियों के ऊपर लिख और उनके काम में लेने के लिए, आप बनाना चाहिए

git merge --strategy=recursive -X theirs {remote/branch} --> example:origin/master 
संबंधित मुद्दे