यदि आप एक ताजा क्लोन में फ़ाइल चाहते हैं, या एक गिट रिपोजिटरी की सफाई के बाद इसे गिट द्वारा ट्रैक किया जाना चाहिए।
बाइनरी फ़ाइलें विलय करने के लिए सुंदर नहीं हैं। आपसे सवाल यह लगता है कि विलय करने के लिए कुछ भी नहीं है, लेकिन निर्णय सिर्फ यह है कि कौन सी फाइल रखना है। एक बात तुम कर सकते हो .gitattributes और .git/config सेटिंग के माध्यम से इन बाईनरीस के लिए कस्टम स्वत: मर्ज व्यवहार को परिभाषित है:
अपने .gitattributes के लिए निम्न जोड़ें (या की जड़ में है कि सामग्री के साथ एक नई फ़ाइल बनाना अपने Git भंडार)
path/to/file merge=nomerge
और एक Git विन्यास फ़ाइल में निम्न (.git/config, या ~/.gitconfig)
[merge "nomerge"]
name = keep current version
driver = true
जगह यह निर्देश देता है Git सिर्फ संघर्ष की अनदेखी और से फ़ाइल रखना में शाखा जिसके लिए आप विलय कर रहे हैं। driver = true
विलय के लिए उपयोग करने के लिए एक बाहरी प्रोग्राम निर्दिष्ट करता है। इस मामले में कार्यक्रम true
है जो किसी भी यूनिक्स सिस्टम पर उपलब्ध होना चाहिए और सफलतापूर्वक कुछ भी नहीं करता है। यदि आपको कुछ स्मार्ट की आवश्यकता है तो वास्तविक कस्टम तर्क जोड़ने के तरीकों पर कस्टम मर्ज ड्राइवर को परिभाषित करने पर the gitattributes manpage अनुभाग देखें। उदाहरण के लिए फ़ाइल में कोई संस्करण सूचक होने पर, वास्तव में फ़ाइल के उच्च संस्करण को हमेशा रखने जैसी जटिल चीजें कर सकती हैं।
आपको git add
को .gitattributes फ़ाइल को भंडार में रखना चाहिए। वास्तविक मर्ज ड्राइवर परिभाषा इस तरह से संग्रहीत नहीं की जा सकती है कि नए क्लोन स्वचालित रूप से बॉक्स को बाहर निकाल देते हैं। तो आपको इसे प्रत्येक क्लोन में या प्रत्येक कंप्यूटर पर प्रति उपयोगकर्ता कॉन्फ़िगरेशन में मैन्युअल रूप से जोड़ने की आवश्यकता है जहां आपको इसकी आवश्यकता है।