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 crlf
için lf
diğer bir yol gitmek istiyorum. NOT: Henüz bitmedi, okumaya devam et
Tip git status
dosyalar etkilenecek görmek için. Gibi satır eklemek zorunda kalabilirsiniz
*.jpg binary
*.png binary
*.gif binary
.gitattributes
Belirli 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 status
hangi dosyaların değişeceğini görmek için tekrar kullanın. Etkilenmesini istediğiniz tüm dosyaların listelendiğinden emin git status
olduktan 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 .gitattributes
dosyayı ve .git
klasörü silebilirsiniz .
** Dosyalarınızı yedekleyin: git rm --cached -r
hepsini 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ı.