मेरे पास एक Git रिपॉजिटरी है जो Windows और OS X दोनों से एक्सेस की गई है, और मुझे पता है कि इसमें CRLF लाइन-एंडिंग वाली कुछ फाइलें पहले से हैं। जहां तक मैं बता सकता हूं, इससे निपटने के दो तरीके हैं:
सेट
core.autocrlf
करने के लिएfalse
हर जगह,यहां निर्देशों का पालन करें (केवल GFHub की मदद पृष्ठों पर गूँजती है) केवल LF लाइन-एंडिंग्स को रिपॉजिटरी में बदलने के लिए, और उसके बाद विंडोज और OS X पर सेट
core.autocrlf
करें । ऐसा करने के साथ समस्या यह है कि अगर मैं रिपॉजिटरी में कोई भी बाइनरी फाइल करता हूं उस:true
input
- gitattributes में बाइनरी के रूप में सही ढंग से चिह्नित नहीं हैं, और
- CRLFs और LFs दोनों को शामिल करने के लिए,
वे भ्रष्ट हो जाएंगे। यह संभव है कि मेरे भंडार में ऐसी फाइलें हों।
तो मुझे Git के लाइन-एंड रूपांतरण को बंद क्यों नहीं करना चाहिए? वेब पर बहुत सारी अस्पष्ट चेतावनियाँ हैं core.autocrlf
, जो समस्याओं का कारण बन रही हैं, लेकिन बहुत कम विशिष्ट हैं; केवल इतना है कि मैंने पाया है कि kdiff3 CRLF एंडिंग (मेरे लिए कोई समस्या नहीं) को संभाल नहीं सकता है, और कुछ पाठ संपादकों के पास लाइन-एंडिंग मुद्दे (मेरे लिए भी कोई समस्या नहीं है)।
रिपॉजिटरी मेरी कंपनी के लिए आंतरिक है, और इसलिए मुझे इसे अलग-अलग ऑटोक्रॉफ्ट सेटिंग्स या लाइन-एंडिंग आवश्यकताओं वाले लोगों के साथ साझा करने के बारे में चिंता करने की आवश्यकता नहीं है।
क्या लाइन-एंडिंग को छोड़ने के साथ कोई अन्य समस्याएं हैं जैसे कि मैं अनजान हूं?
autocrlf
असत्य पर सेट होने के कारणों की तलाश नहीं कर रहा हूं । मैं इसे सच करने के लिए कारणों की तलाश कर रहा हूं।
autocrlf = input
: यह दो चरम सीमाओं के बीच सही समाधान प्रतीत होता है: आप अपने रेपो को CRLF बकवास से साफ रखते हैं, और स्थानीय रूप से विंडोज डेवलपर अपनी स्थानीय फ़ाइलों के बिना जो कुछ भी चाहते हैं उसका उपयोग कर सकते हैं, जो उनके लिए स्वचालित रूप से कुछ भी जादू नहीं करता है। (वे विभिन्न कारणों से स्थानीय स्तर पर LF चाहते हैं, इसलिए true
मेरी राय में यह बुरा है।) मैं उपयोग करने के लिए कोई डाउनसाइड नहीं देख सकता autocrlf = input
।
autocrlf
झूठे को छोड़ने के विशिष्ट कारणों के लिए लिंक है ।