Bu çözümü oraya fırlatacağım. Git bunu yapacak. Bu yayına bakın
Teorik olarak bunu bütün bir ağacı dönüştürmek için yapabilirsin.
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
Değiştir crlfiçin lfdiğer bir yol gitmek istiyorum. NOT: Henüz bitmedi, okumaya devam et
Tip git statusdosyalar etkilenecek görmek için. Gibi satır eklemek zorunda kalabilirsiniz
*.jpg binary
*.png binary
*.gif binary
.gitattributesBelirli dosyaları dönüştürmekten kaçınmak için vb . Ayrıca belirli dosyaları metin olarak işaretleyebilirsiniz
*.md text
*.css text
O zaman düzenledikten sonra bu 2 satırı tekrarla .gitattributes
git rm --cached -r .
git reset --hard
Sonra git statushangi dosyaların değişeceğini görmek için tekrar kullanın. Etkilenmesini istediğiniz tüm dosyaların listelendiğinden emin git statusolduktan sonra
git add .
git commit -m "normalize line endings"
şimdi tüm dosyaları tekrar kontrol et
git rm --cached -r .
git reset --hard
Şimdi istediğiniz satır sonları ne olursa olsun olmalıdır
** NOT: Zaten git kullanıyorsanız ilk 3 komutu atla komutları atlayın. Git'i kullanmadıysanız, şimdi .gitattributesdosyayı ve .gitklasörü silebilirsiniz .
** Dosyalarınızı yedekleyin: git rm --cached -rhepsini siler (her ne kadar teorik olarak git repo'nuzda (.git klasörü) olmasına rağmen bu, son komut tarafından geri yüklenme şeklidir git reset --hard. yukarı.