Saya memiliki repositori Git yang diakses dari Windows dan OS X, dan yang saya tahu sudah berisi beberapa file dengan akhiran CRLF. Sejauh yang saya tahu, ada dua cara untuk mengatasinya:
Diatur
core.autocrlf
kefalse
mana - mana,Ikuti instruksi di sini (digaungkan di halaman bantuan GitHub) untuk mengonversi repositori menjadi hanya berisi akhir-baris LF, dan setelah itu disetel
core.autocrlf
ketrue
Windows daninput
pada OS X. Masalah dengan melakukan ini adalah jika saya memiliki file biner di repositori bahwa:- tidak ditandai dengan benar sebagai biner di gitattributes, dan
- kebetulan mengandung CRLF dan LF,
mereka akan rusak. Mungkin repositori saya berisi file-file seperti itu.
Jadi mengapa saya tidak mematikan saja konversi akhir baris Git? Ada banyak peringatan samar di web tentang core.autocrlf
mematikan yang menyebabkan masalah, tetapi sangat sedikit yang spesifik ; satu-satunya yang saya temukan sejauh ini adalah bahwa kdiff3 tidak dapat menangani akhiran CRLF (bukan masalah bagi saya), dan bahwa beberapa editor teks memiliki masalah akhir baris (juga bukan masalah bagi saya).
Repositori adalah internal perusahaan saya, jadi saya tidak perlu khawatir membagikannya dengan orang-orang dengan pengaturan autocrlf yang berbeda atau persyaratan akhir baris.
Apakah ada masalah lain dengan hanya meninggalkan garis akhir karena-saya tidak menyadarinya?
autocrlf
ke false. Saya mencari alasan untuk menjadikannya benar.
autocrlf = input
: tampaknya ini adalah resolusi sempurna antara kedua ekstrem: Anda menjaga repo Anda bersih dari omong kosong CRLF, dan secara lokal pengembang Windows dapat menggunakan apa pun yang mereka inginkan tanpa file lokal mereka memiliki sihir yang dilakukan secara otomatis kepada mereka. (Mereka mungkin menginginkan LF secara lokal karena berbagai alasan, jadi true
itu buruk, menurut saya.) Saya tidak bisa melihat ada kerugian untuk menggunakan autocrlf = input
.
autocrlf
ke false.