गिट के साथ, जब autocrlf = true
ध्वज का उपयोग करते हैं, तब भी एक चेतावनी दी जाती है जब लाइन-एंडिंग को बदल दिया जाता है।
मैं समझता हूं कि चेतावनी क्या है और लाइन-एंडिंग फ़्लैग को कैसे बंद किया जाए, लेकिन मैं चेतावनी को कैसे बंद करूं?
गिट के साथ, जब autocrlf = true
ध्वज का उपयोग करते हैं, तब भी एक चेतावनी दी जाती है जब लाइन-एंडिंग को बदल दिया जाता है।
मैं समझता हूं कि चेतावनी क्या है और लाइन-एंडिंग फ़्लैग को कैसे बंद किया जाए, लेकिन मैं चेतावनी को कैसे बंद करूं?
जवाबों:
आप चेतावनी को बंद कर सकते हैं
git config --global core.safecrlf false
(यह केवल फ़ंक्शन को बंद करेगा, न कि फ़ंक्शन को ही।)
आपको उपयोग करना चाहिए core.autocrlf input
और core.eol input
। या बस git को लाइन एंडिंग को बिल्कुल भी बदलने न दें autocrlf false
और साथ में, आदि में crlfs के हाइलाइटिंग से छुटकारा पाएं core.whitespace cr-at-eol
।
उम्मीद है की यह मदद करेगा
आप core.whitespace
विकल्प ढूंढ रहे हैं ( git config --help
विवरण देखें)।
आप इस विकल्प को इस तरह सेट कर सकते हैं:
$ git config core.whitespace cr-at-eol
मैंने इस तरह से इस्तेमाल किया:
अपनी वर्तमान फ़ाइलों को Git में सहेजें, ताकि आपका कोई भी कार्य खो न जाए।
git add . -u git commit -m "Saving files before refreshing line endings"
हर फाइल को Git के Index से निकालें।
git rm --cached -r .
सभी नई लाइन अंत को लेने के लिए Git इंडेक्स को फिर से लिखें।
git reset --hard
अपनी सभी परिवर्तित फ़ाइलों को वापस जोड़ें, और उन्हें कमिट करने के लिए तैयार करें। यह आपके लिए मौका है कि कौन सी फाइलें, यदि कोई हैं, का निरीक्षण किया जाए।
git add . # It is perfectly safe to see a lot of messages here that read # "warning: CRLF will be replaced by LF in file."
अपने भंडार में बदलाव करें।
git commit -m "Normalize all the line endings"
git rm --cached -r . && git reset --hard
चाल करने के लिए लगता है, धन्यवाद
मजेदार रूप से पर्याप्त है, मैंने दोनों विन्यासों को यहां समझाया जैसे लागू किया था, और मेरी .gitconfig फ़ाइल में ये 2 पंक्तियाँ थीं:
[core]
autocrlf = false
whitespace = cr-at-eol
फिर भी मुझे चेतावनी मिल गई। अब बस कोशिश करने के लिए मैंने दोनों पंक्तियों पर टिप्पणी की और चेतावनी वास्तव में गायब हो गई। कोई विचार नहीं है कि मैंने उन्हें पहले स्थान पर क्यों रखा ...
"Core.safecrlf false" सेट करना काम करता है। हालाँकि, मैंने मान को 'सत्य' में बदल दिया, आउटपुट को 'चेतावनी' से 'घातक' में बदल दिया, जैसा कि नीचे दिखाया गया है।
$ git add -A
warning: LF will be replaced by CRLF in .gitignore.
The file will have its original line endings in your working directory
$ git config --global core.safecrlf false
$ git reset
$ git config --global core.safecrlf true
$ git add -A
fatal: LF would be replaced by CRLF in .gitignore
$