2011-04-15 7 views
17

मैं प्रोग्राम द्वारा उत्पन्न कुछ बाइनरी फ़ाइलों से निपट रहा हूं। ऑटो विलय इन फ़ाइलों के लिए अच्छी तरह से काम नहीं करता है। विलय करते समय मैं क्या करना चाहता हूं, वास्तव में एक प्रतिलिपि लेता है या दूसरा। यह आदर्श नहीं है, लेकिन मुझे लगता है कि यह सबसे अच्छा तरीका है।गिट उनके चरणों को विलय कर रहा है

अब मेरी समझ, कि अगर मैं शाखा मैं से विलय कर रहा हूँ से एक फ़ाइल लेने के लिए, और पूरी तरह से हमारे संस्करण त्यागने चाहता था, मुझे क्या करना चाहिए है: मैं

git merge <branchname> 
git checkout --theirs <filename> 
git add <filename> 
git commit 

यह सही है, या कुछ भूल रहा हूं?

मैं .gitignore का उपयोग कर उत्पन्न फ़ाइलों की अनदेखी करने में .gitignore

+0

मैं कुछ समय के लिए देख रहा हूं कि 'गिट मर्ज-एक्स उनके अपस्ट्रीम/मास्टर' से उत्पन्न संघर्षों को कैसे हल किया जाए "। 'गिट चेकआउट --थीर्स' करना सही काम था! धन्यवाद। –

उत्तर

22

अपने लक्ष्य को वास्तव में है एक संस्करण या अन्य रखने के लिए है, तो हाँ, आप उपयोग करना चाहते होंगे। यदि कोई तरीका है तो आप इससे बच सकते हैं, आपको चाहिए। यदि आप कर सकते हैं, वर्कफ़्लो आदतों को अपनाने का प्रयास करें जो उन फ़ाइलों को अलग-अलग शाखाओं में बदलने से बचें जिन्हें बाद में विलय करने की आवश्यकता होगी। यदि फ़ाइलों को ट्रैक की गई सामग्री से उत्पन्न किया जाता है, तो आप वास्तव में उन्हें अनदेखा करना चाहते हैं - यदि आपके पास अच्छा कारण नहीं है, तो हो सकता है कि आप उन्हें संभवतः मर्ज करने योग्य ट्रैक सामग्री से उत्पन्न करना चाहें, यदि यह संभव हो।

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

+0

क्या इसे जोड़ने से पहले "दोनों संशोधित" रहना चाहिए? मैं यह करता हूं, लेकिन यह अंत में TH के साथ एक नई फ़ाइल उत्पन्न करता है: एस –

+0

संपादित करें: हां, यह आपको इस तथ्य के बारे में सूचित नहीं करता है कि आप उनका/हमारा ले रहे हैं। बस चेकआउट फिर जोड़ें। –

1

देखो का उपयोग किए बिना यह करने के लिए करना चाहते हैं। आपको गिट आरएम भी करना पड़ सकता है। जैसा कि आप कहते हैं कि

git checkout <--theirs|--ours> <path> 
git add <path>`. 
बेशक

, यह आदर्श नहीं है:

+0

यह सच है ... यह मानते हुए कि बाइनरी फ़ाइलों को प्रोग्राम द्वारा सीधे ट्रैक की गई चीज़ों से उत्पन्न किया जाता है। ओपी उस स्थिति में नहीं है। – Cascabel

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