Git, रिपॉजिटरी में फाइल जोड़ने से LF-> CRLF के लिए घातक त्रुटि होती है




version-control newline (3)

मैं नया हूँ और मुझे कुछ मदद चाहिए। मैं विंडोज़ पर msysgit का उपयोग कर रहा हूं।

जब मैं कमांड git add [folderName] निष्पादित करता हूं तो मुझे प्रतिक्रिया मिलती है:

fatal: LF would be replaced by CRLF in [.css file or .js file]

और फिर अगर आप कमिट करने की कोशिश करते हैं तो कुछ नहीं होता है।

$ git commit
# On branch master
#
# Initial commit
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#       so01/
nothing added to commit but untracked files present (use "git add" to track)

इन सीएसएस / जेएस फ़ाइलों में से कुछ नेट से डाउनलोड की गई थीं, इसलिए मुझे लगता है कि क्यों एलएफ है। यदि मैं फ़ाइल खोलता हूं और सामग्री को काट / पेस्ट करता हूं, तो मुझे अगली फ़ाइल और इसी तरह की त्रुटि मिलती है।

किसी भी प्रकार के मदद की बहुत सराहना की जाएगी।

संपादित करें

core.autocrlf को गलत पर सेट करना समस्या को हल करने के लिए लगता है, लेकिन मैंने कई पोस्टों पर पढ़ा कि इस विकल्प को गलत पर सेट न करें।

क्या कोई मुझे इंगित कर सकता है जहां मुझे पता चल सकता है कि इस स्थिति में क्या समस्याएं हो सकती हैं?


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

स्वीकार किए गए उत्तर से पुनरावृत्ति करने के लिए: "जब तक आप विशिष्ट उपचार नहीं देख सकते हैं, जो देशी ईओल से निपटना चाहिए, आप ऑटोरोफ़ेल को झूठे छोड़ने से बेहतर हैं।"

आटोक्रॉफ्ट पर अनुभाग के अंत में प्रोजिट बुक से भी:

"यदि आप एक विंडोज-प्रोग्रामर हैं जो केवल विंडोज प्रोजेक्ट कर रहा है, तो आप इस फंक्शनलिटी को बंद कर सकते हैं, कॉन्फ़िगरेशन मान को गलत पर सेट करके रिपॉजिटरी में गाड़ी के रिटर्न को रिकॉर्ड कर सकते हैं"

केवल एक अन्य सहायता जो मैं दे सकता हूं वह यह है कि यदि आप दूसरा मार्ग लेते हैं, vim -b परिचित हों, जो कि विशेष पात्रों जैसे CR को MSysGit में दिखाएगा, और git show HEAD:path/to/your/file.txt आपको फ़ाइल को उस तरीके से दिखाते हैं जिस तरह से इसे संग्रहीत किया है।

पैच core.whitespace cr-at-eol सेट करें और CRs को संभावित समस्याग्रस्त व्हाट्सएप के रूप में उजागर न करें।

झंझट के लायक नहीं। स्टोर के रूप में है।


प्रारूपों के गिट ऑटोडेटेक्शन बहुत अच्छी तरह से काम करता है। इसलिए, core.autocrlf=true विंडोज पर एक बहुत अच्छा विचार है।

git config --global core.safecrlf=false कह रही है git config --global core.safecrlf=false git से कहता है: अरे, कृपया मेरी गलत लाइन एंडिंग्स (LF को) को विंडोज लाइन एंडिंग (CRLF) में रूपांतरित करें और मुझे इससे परेशान न करें।

इसलिए, आपको वास्तव में core.safecrlf अक्षम करना चाहिए।

लंबे समय तक उत्तर: https://.com/a/15471083/873282


समस्या शायद इसलिए हो रही है क्योंकि आप Git को crlf साथ आंतरिक रूप से फ़ाइलों को संग्रहीत करने के लिए सेट करते हैं। सेटिंग। जब आप कोई फ़ाइल जोड़ते हैं, तो Git आपको चेतावनी देता है कि वह इसे आंतरिक स्वरूप में बदल देगा।

गिट लाइन के अंत के साथ सबसे अच्छा काम करता है, इसलिए यदि संभव हो तो हमेशा core.eol = lf साथ काम करें।

यह बताना चाहिए कि कब core.autocrlf का उपयोग करना चाहिए , Git में core.autocrlf = true का उपयोग क्यों करना चाहिए?

आप core.safecrlf का उपयोग करना core.safecrlf । सेटिंग्स पर विवरण के लिए git config --help जाँच करें।






core.autocrlf