uyarı: LF, CRLF ile değiştirilecektir.
Kullandığınız düzenleyiciye bağlı olarak, LF içeren bir metin dosyası CRLF ile kaydedilmeyecektir: son düzenleyiciler eol stilini koruyabilir . Ancak bu git config ayarı bunları değiştirmekte ısrar ediyor ...
Basitçe emin olun ( burada önerdiğim gibi ):
git config --global core.autocrlf false
Bu şekilde herhangi bir otomatik dönüşümü önlersiniz ve bunları yine de bir .gitattributesdosya ve core.eolyönergeler aracılığıyla belirtebilirsiniz .
windows git "LF, CRLF ile değiştirilecek"
Bu uyarı kuyruğu geri mi?
Hayır: Windows'tasınız ve git configyardım sayfasında bahsediliyor
CRLFDepo normalleştirilmiş satır sonlarına sahip olmasa bile, çalışma dizininizde satır sonları olmasını istiyorsanız bu ayarı kullanın .
" Git yerine LF yerine CRLF yazılması " bölümünde anlatıldığı gibi, sadece kasada (taahhüt değil), ile yapılmalıdırcore.autocrlf=true .
repo
/ \
crlf->lf lf->crlf
/ \
Bahsedildiği üzere Xiaopeng 'ın cevabı , o uyarı aynıdır:
uyarı: (Geçerli core.autocrlfyapılandırmanızla başka bir klasöre teslim ederseniz / veya kopyalarsanız ,) LF'nin yerini CRLF
alacaktır. Dosya (geçerli) çalışma dizininizde orijinal satır sonlarına sahip olacaktır.
git-for-windows/gitSayı 1242'de belirtildiği gibi :
Bu mesajın kafa karıştırıcı olduğunu düşünüyorum, mesaj sorunun daha iyi bir açıklamasını içerecek şekilde genişletilebilir, örneğin: "LF file.json, dosyayı kaldırdıktan ve tekrar kontrol ettikten sonra CRLF ile değiştirilecek ".
Not: Git 2.19 (Eylül 2018), kullanıldığında core.autocrlf, sahte "LF CRLF ile değiştirilecek" uyarısı artık engellenmektedir .
As quaylar haklı yorumlarla işlemek bir dönüşüm varsa, bu etmektir LFsadece.
Bu özel uyarı " LF will be replaced by CRLF" convert.c # check_safe_crlf () kaynağından geliyor :
if (checksafe == SAFE_CRLF_WARN)
warning("LF will be replaced by CRLF in %s.
The file will have its original line endings
in your working directory.", path);
else /* i.e. SAFE_CRLF_FAIL */
die("LF would be replaced by CRLF in %s", path);
Tarafından çağrılan convert.c#crlf_to_git()kendisi tarafından çağrılan, convert.c#convert_to_git()kendisi tarafından çağrılan, convert.c#renormalize_buffer().
Ve bu sonuncusu renormalize_buffer()sadece denir merge-recursive.c#blob_unchanged().
Dolayısıyla, bu dönüşümün git commitancak söz konusu taahhüt bir birleştirme sürecinin parçasıysa gerçekleştiğinden şüpheleniyorum .
Not: Git 2.17 (Q2 2018) ile, kod temizleme bazı açıklamalar ekler.
Bakınız Torsten Bögershausen ( ) tarafından 8462ff4 (13 Ocak 2018) taahhüdütboegi .
(Göre Birleştirilmiş - Junio Cı Hamano gitster- içinde 9bc89b1 tamamlama 2018, 13 Şubat)
convert_to_git (): safe_crlf / checksafe int dönüştürebilir
Arama yaparken convert_to_git(), checksafeparametre EOL dönüşümü ( CRLF --> LF --> CRLF) düzgün bir şekilde geri dönmezse ne olması gerektiğini tanımladı .
Ayrıca, satır sonlarının yeniden biçimlendirilmesi ( CRLF --> LF) veya olması gerektiği gibi tutulması da tanımlanmıştır .
checksafe safe_crlfşu değerlere sahip bir numaraydı :
SAFE_CRLF_FALSE: do nothing in case of EOL roundtrip errors
SAFE_CRLF_FAIL: die in case of EOL roundtrip errors
SAFE_CRLF_WARN: print a warning in case of EOL roundtrip errors
SAFE_CRLF_RENORMALIZE: change CRLF to LF
SAFE_CRLF_KEEP_CRLF: keep all line endings as they are
Git 2.17 döngüsünde 8462ff4'te (" convert_to_git():
safe_crlf/checksafeolur int conv_flags", 2018-01-13, Git 2.17.0) tanıtılan bir gerilemenin autocrlfyeniden yazmaların ayarlara rağmensafecrlf=false bir uyarı mesajı
vermesine neden olduğunu unutmayın .
Bkz. Taahhüt: 6cb0912 (04 Haziran 2018) Anthony Sottile ( asottile) .
(Göre Birleştirilmiş - Junio Cı Hamano gitster- içinde 8063ff9 tamamlama 2018, 28 Haz)