2009-10-05 12 views
9

में लाइन एंडिंग मुद्दों को स्पष्ट/समाशोधन करना हमारे पास एक भंडार है जिसे उपversण से गिट में निर्यात किया गया था। यह भंडार मैक, लिनक्स और पीसी उपयोगकर्ताओं द्वारा उपयोग किया जाता है। कहने की जरूरत नहीं है कि लाइन एंडिंग एक गड़बड़ है। कुछ फाइलें सीआरएलएफ, एलएफ, या सीआर में समाप्त होती हैं और कुछ में एक फ़ाइल में सभी दो या तीन के बीच मिश्रण होता है।जीआईटी

autocrlf = true जोड़ना चीजों को ठीक करने लगता है। हालांकि अलग-अलग समय में भिन्नताएं आती हैं, यानी फ़ाइल में एक पंक्ति को संपादित करने से सभी लाइनें diff में बदल जाती हैं (मुझे लगता है कि फ़ाइल के लिए लाइन एंडिंग के कारण यह सब फिर से लिखा गया था) और कभी-कभी एक पंक्ति में एक पंक्ति संपादित होती है फ़ाइल सही ढंग से काम करता है।

क्या कोई वेबसाइट है, या कोई यह बता सकता है कि हम इस गड़बड़ी को कैसे हल कर सकते हैं? क्या कोई गिट सेटिंग है जिसे हमें सेट करना है, या क्या हमें एक निश्चित लाइन समाप्त करने के लिए सभी फ़ाइलों का एक बड़ा अपडेट करना है या क्या?

किसी भी मदद की काफी गड़बड़ी के रूप में बहुत सराहना की जाएगी!

(निम्नलिखित stackoverflow post प्रकट होता है यह, मदद कर सकता है, हालांकि यह does not का जवाब क्या होता है जब हम एक और मैक या पीसी या लिनक्स उपयोगकर्ता एक और पैच के लिए प्रतिबद्ध है)

उत्तर

5

यह संबंधित तो सवाल यह आप के लिए ब्याज की हो जाएगा:

Trying to fix line-endings with git filter-branch, but having no luck

और यहाँ a link है Github से समान सलाह करने के लिए।

इसके अलावा, जैसा कि ग्रेग हेगिल के पद में वर्णित है, यह सत्यापित करना बुद्धिमान है कि भविष्य के कमेटी एक संपादक का उपयोग करते हैं जो नई लाइन-एंडिंग नीति को सही तरीके से संभालती है।

जब आप कहते हैं "autocrlf = true जोड़ना चीजों को थोड़ा ठीक करने लगता है।" मुझे लगता है कि यह .gitattributes का उपयोग करने में किया गया था।

+2

तो चरण एक: भंडार में लाइन अंतराल को ठीक करें। चरण दो: लोगों को 'गिट कॉन्फ़िगरेशन --global core.autocrlf true' का उपयोग करने के लिए कहें और फिर उन्हें उपयोग किए बिना प्रतिबद्ध करते समय उन्हें थप्पड़ मार दें? – corydoras

+0

@corydoras: '.gitattributes' की सुंदरता यह है कि फ़ाइल को भंडार में धक्का दिया जा सकता है। यदि 'core.autocrlf' को एक फ़ाइल में सेट किया गया है और धक्का दिया गया है, तो मुझे विश्वास है कि इसे किसी भी क्लोन में लाइन एंडिंग को लागू करना चाहिए। हालांकि, मुझे यकीन नहीं है कि ताजा क्लोन की आवश्यकता होगी या यदि प्रत्येक कमिश्नर को गिथब पर दी गई सलाह का पालन करना होगा। –

5

मैं कोशिश करेगा, जितना संभव हो उतना, एक पर मानकीकृत करने के लिए आपकी परियोजना में सभी स्रोत फ़ाइलों में उपयोग की जाने वाली सामान्य रेखा। चुनने के लिए एक अच्छा विकल्प केवल एलएफ हो सकता है, हालांकि मैं जांचता हूं कि डेवलपर्स द्वारा उपयोग किए गए संपादक (ओं) आपके चुने हुए आम लाइन को संवेदनापूर्वक और सही तरीके से समाप्त करते हैं। (इस मामले में, sanely फ़ाइल में हर पंक्ति में बदलाव नहीं करने का मतलब है सिर्फ इसलिए कि उपयोगकर्ता एक लाइन बदल दिया है।)

आप एक बड़ी सफाई काम करते हैं और एक बड़ा प्रतिबद्ध है कि सभी फ़ाइल लाइन अंत में परिवर्तन करने के लिए आवश्यकता हो सकती है आपके चुने हुए मानक अंत में। यह अजीब होगा लेकिन शायद अलग-अलग लाइन अंतराल को बनाए रखने के रूप में अजीब नहीं है।

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