मैं इस समाधान को वहां फेंकने जा रहा हूं। Git ऐसा करेगा। इसके बारे में यह पोस्ट देखें
तो सैद्धांतिक रूप से आप ऐसा कर सकते हैं एक पूरे पेड़ को बदलने के लिए
cd root/of/tree
git init .
git add .
git commit -m "initial commit"
echo "* text eol=crlf" > .gitattributes
git rm --cached -r .
git reset --hard
बदले crlfके लिए lfयदि आप अन्य रास्ता तय करना चाहते हैं। नोट: आप अभी तक नहीं कर रहे हैं, पढ़ते रहें
टाइप करें git statusदेखने के लिए जो फ़ाइलों प्रभावित हो जाएगा। आपको लाइनों को जोड़ना पड़ सकता है
*.jpg binary
*.png binary
*.gif binary
आदि .gitattributesकुछ फ़ाइलों को परिवर्तित करने से बचने के लिए। आप पाठ के रूप में कुछ फ़ाइलों को स्पष्ट रूप से चिह्नित कर सकते हैं
*.md text
*.css text
फिर संपादित करने के बाद बस इन 2 पंक्तियों को दोहराएं .gitattributes
git rm --cached -r .
git reset --hard
फिर git statusदोबारा उपयोग करके देखें कि कौन सी फाइलें बदली जाएंगी। जब आप सुनिश्चित हों कि आपके द्वारा प्रभावित की जाने वाली सभी फाइलें git statusतब तक के लिए सूचीबद्ध हैं
git add .
git commit -m "normalize line endings"
अब सभी फाइलों को फिर से देखें
git rm --cached -r .
git reset --hard
उन्हें अब आपके वांछित लाइन एंडिंग जो कुछ भी होना चाहिए
** नोट: यदि आप पहले से ही git का उपयोग कर रहे थे तो पहले 3 कमांड git कमांड को छोड़ दें। यदि आप git का उपयोग नहीं कर रहे थे तो अब आप .gitattributesफ़ाइल और .gitफ़ोल्डर को हटा सकते हैं ।
** अपनी फ़ाइलों का बैक अप लें: git rm --cached -rउन सभी को हटा देता है (हालाँकि वे सैद्धांतिक रूप से आपके गिट रेपो (.it फोल्डर) में हैं) कि वे किस तरह से अंतिम कमांड द्वारा बहाल हो जाते हैं git reset --hard। यह सिर्फ इसलिए कि फाइलें डिलीट हो रही हैं, यह संभवत: उन्हें वापस करने के लिए सबसे अच्छा है। अप।