Git'in herhangi bir işlem için herhangi bir satır sonunu değiştirmemesini sağlamaya çalışıyorum. Ne yazık ki, ne olursa olsun öyle görünüyor. Bunu, bulabildiğim kadarıyla bu davranışı devre dışı bırakmak için birçok farklı mekanizmaya sahip olan aşağıdaki test senaryosuna indirdim.
- İki makineyle başlayın (Windows bilgisayar = A, Linux bilgisayar = B)
- Her iki makinede:
git config --global core.autocrlf false - Her iki makinede:
git config --global core.eol crlf( her ihtimale karşı)
- A üzerinde yeni depo oluşturun. Boş bir klasörden:
git init --shared(daha sonra oluşturulan.gitdizini gösterin ).gitignoreDepoda yeni bir dosya oluşturun.gitattributesArşivde tek satırla yeni bir dosya oluşturun :* -textgit add ., sonragit commit -m "initial commit"etrafta çalışmak için, örneğin bu .git branch master_recv- Uzaktan kumanda ekle
document.txtCRLF içeren depoda yeni bir dosya oluşturun- Kaydet:,
git add -Asonragit commit -m "<something>" document.txtA'ların hala CRLF içerdiğini unutmayın (ve onu silip sıfırlamak--hardhala CRLF'li sürümü döndürür)
- B bilgisayarına tüm dizini SCP
new fileCRLF içeren yeni bir dosya ekleyin- Kaydet:,
git add -Asonragit commit -m "<something>" - B'nin
document.txtve B'ninnew fileher ikisinin de hala CRLF içerdiğini unutmayın.
- B'nin ustasını A'ya çekin:
git pull <remote> master:master_recv - A'lar
document.txtLF'ye değişti. Eklenen dosyanew fileayrıca LF içerir.
B bir Windows makinesiyse sorun oluşmaz.


core.autocrlfhep yanlış olmuştur?\nDeponuzda zaten satır sonları var gibi görünüyor ? Orada hiçbir değiştirmek için ayar\niçin depoda\r\nçalışma dizininde.