git diff
Dosyada hangi değişiklikler gösteriliyor? Windows'ta, bunun gibi sorunlara neden olan satır sonlarıyla ilgili sorunlar gördüm. Bu durumda, sizin için var hangi ayarları bakmak git config core.autocrlf
ve git config core.safecrlf
. Burada bu ayarlar için bazı belgeler var .
git svn
Subversion ile entegrasyon için kullanıyorsanız , autocrlf
kapalı olduğundan emin olun . Anlayabildiğim kadarıyla, bu konfigürasyonda sadece bozuk ve checkout
herhangi bir değişikliği geri almak için bir yaptığınızda , araçların çoğunun dosyaların değiştirildiğini düşünmesine neden oluyor .
Bulduğunuz yerde bir sorun görüyorsanız git checkout
ve daha sonra git status
dosyanın hala değiştirildiğini ve git diff
dosyanın her satırında değiştirildiğini gösteriyorsa, gördüğünüz sorun budur.
core.autocrlf
True ise git, metin dosyalarındaki satırların sonundaki CRLF'yi dosya sisteminden okurken LF'ye dönüştürür ve dosya sistemine yazarken tersine dönüştürür. Değişken giriş olarak ayarlanabilir, bu durumda dönüştürme yalnızca dosya sisteminden okurken gerçekleşir, ancak dosyalar satırların sonunda LF ile yazılır. Şu anda, hangi yolların "metin" olarak değerlendirileceğine (yani, otocrlf mekanizmasına tabi tutulacağına) tamamen içeriğe dayalı olarak karar verilmektedir.
core.safecrlf
True ise git, CRLF'yi core.autocrlf tarafından kontrol edildiği şekilde dönüştürmenin tersine çevrilebilir olup olmadığını kontrol eder. Git, bir komutun çalışma ağacındaki bir dosyayı doğrudan veya dolaylı olarak değiştirip değiştirmediğini doğrulayacaktır. Örneğin, bir dosyayı işlemek ve ardından aynı dosyayı teslim almak, çalışma ağacındaki orijinal dosyayı vermelidir. Geçerli core.autocrlf ayarı için durum bu değilse, git dosyayı reddeder. Değişken "warn" olarak ayarlanabilir, bu durumda git yalnızca geri döndürülemez bir dönüşüm konusunda uyarır ancak işleme devam eder. ...
git checkout HEAD -- index.htm
işler (yerine endeksi dışarı kontrol etme gereğini son kararlı durumdan kontrol)?