Git ile, autocrlf = true
bayrağı kullanırken, satır sonları değiştirildiğinde hala bir uyarı verilir.
Uyarının ne için olduğunu ve satır sonu bayrağını nasıl kapatacağımı anlıyorum, ancak uyarının kendisini nasıl kapatabilirim?
Git ile, autocrlf = true
bayrağı kullanırken, satır sonları değiştirildiğinde hala bir uyarı verilir.
Uyarının ne için olduğunu ve satır sonu bayrağını nasıl kapatacağımı anlıyorum, ancak uyarının kendisini nasıl kapatabilirim?
Yanıtlar:
İle uyarıyı kapatabilirsiniz.
git config --global core.safecrlf false
(Bu fonksiyonun kendisini değil, sadece uyarıyı kapatır.)
Sen kullanmalıdır core.autocrlf input
ve core.eol input
. Ya da autocrlf false
git'in satır sonlarını hiç değiştirmesine izin vermeyin ve difl'lerdeki crlfs, vb.core.whitespace cr-at-eol
. .
Bu yardımcı olur umarım
Bu şekilde kullandım:
Geçerli dosyalarınızı Git'e kaydedin, böylece çalışmalarınızın hiçbiri kaybolmaz.
git add . -u git commit -m "Saving files before refreshing line endings"
Git'in dizinindeki her dosyayı kaldırın.
git rm --cached -r .
Tüm yeni satır sonlarını almak için Git dizinini yeniden yazın.
git reset --hard
Değiştirilen tüm dosyalarınızı geri ekleyin ve bir taahhüt için hazırlayın. Bu, varsa hangi dosyaların değiştirilmediğini inceleme şansınızdır.
git add . # It is perfectly safe to see a lot of messages here that read # "warning: CRLF will be replaced by LF in file."
Deponuzda değişiklikleri yapın.
git commit -m "Normalize all the line endings"
git rm --cached -r . && git reset --hard
hile yapmak gibi görünüyor, teşekkürler
Funnily, burada açıklandığı gibi her iki yapılandırmayı uygulamıştım ve .gitconfig dosyamda şu 2 satır vardı:
[core]
autocrlf = false
whitespace = cr-at-eol
Yine de uyarıyı aldım. Şimdi sadece denemek için her iki satırı da yorumladım ve uyarı aslında kayboldu. Ancak onları neden ilk sıraya koyduğum hakkında hiçbir fikrim yok ...
"Core.safecrlf false" ayarı çalışır. Ancak, değeri 'true' olarak değiştirdikten sonra çıktı, aşağıda gösterildiği gibi 'uyarı' dan 'ölümcül' olarak değişir.
$ git add -A
warning: LF will be replaced by CRLF in .gitignore.
The file will have its original line endings in your working directory
$ git config --global core.safecrlf false
$ git reset
$ git config --global core.safecrlf true
$ git add -A
fatal: LF would be replaced by CRLF in .gitignore
$