Pertanyaan LF akan digantikan oleh CRLF di git - Apa itu dan apakah itu penting? [duplikat]


Kemungkinan Duplikat:
git mengganti LF dengan CRLF 

Saat saya membuat aplikasi rel baru, saya melihat peringatan di git tentang penggantian LF. Saya lakukan     git init     git add.

lalu boom! Saya melihat ini muncul untuk hampir semua file. Saya biasanya hanya melanjutkan dan membangun aplikasi saya dan menghilang setelah banyak perubahan pada file.

Contoh:

File ini akan memiliki akhiran garis aslinya di direktori kerja Anda.   peringatan: LF akan digantikan oleh CRLF di Gemfile.

File ini akan memiliki akhiran garis aslinya di direktori kerja Anda.   peringatan: LF akan digantikan oleh CRLF di Gemfile.lock.

File ini akan memiliki akhiran garis aslinya di direktori kerja Anda.   peringatan: LF akan digantikan oleh CRLF di README.

Apa perbedaan antara LF dan CRLF?

Haruskah saya khawatir tentang ini dalam jangka panjang atau hanya mengabaikannya dan terus berjalan seperti biasanya?


818
2018-04-29 15:28


asal


Jawaban:


Di sistem Unix, ujung garis ditunjukkan dengan feed baris (LF). Pada windows, sebuah garis direpresentasikan dengan carriage return (CR) dan feed baris (LF) dengan demikian (CRLF). ketika Anda mendapatkan kode dari git yang diunggah dari sistem unix, mereka hanya akan memiliki LF.

Jika Anda ingin mematikan peringatan ini, ketik ini di baris perintah git

git config core.autocrlf true

Jika Anda ingin membuat keputusan cerdas bagaimana git harus menangani ini, baca dokumentasi 

Ini cuplikannya

Format dan Spasi Putih

Masalah format dan spasi merupakan beberapa hal yang lebih membuat frustrasi dan   masalah halus yang dihadapi banyak pengembang ketika berkolaborasi,   terutama lintas platform. Sangat mudah untuk tambalan atau lainnya   bekerja berkolaborasi untuk memperkenalkan perubahan spasi yang halus karena   editor diam-diam memperkenalkan mereka, dan jika file Anda pernah menyentuh file   Sistem Windows, akhiran garis mereka dapat diganti. Git punya beberapa   opsi konfigurasi untuk membantu masalah ini.

core.autocrlf

Jika Anda memprogram di Windows dan bekerja dengan orang yang tidak   (atau sebaliknya), Anda mungkin akan mengalami masalah akhiran pada beberapa   titik. Ini karena Windows menggunakan karakter carriage-return   dan karakter linefeed untuk baris baru di file-nya, sedangkan Mac dan   Sistem Linux hanya menggunakan karakter linefeed. Ini memang halus tapi   fakta yang sangat menjengkelkan dari kerja lintas platform; banyak editor di   Windows diam-diam menggantikan akhiran gaya LF-style yang ada dengan CRLF, atau   masukkan kedua karakter akhir baris ketika pengguna menekan tombol enter.

Git dapat menangani ini dengan auto-mengubah akhir baris CRLF menjadi LF kapan   Anda menambahkan file ke indeks, dan sebaliknya ketika ia memeriksa kode   ke sistem file Anda. Anda dapat mengaktifkan fungsi ini dengan   pengaturan core.autocrlf. Jika Anda menggunakan mesin Windows, atur ke true   - ini mengubah akhir LF menjadi CRLF ketika Anda memeriksa kode:

$ git config --global core.autocrlf true

Jika Anda menggunakan sistem Linux atau Mac yang menggunakan akhiran LF, maka Anda   tidak ingin Git mengonversinya secara otomatis saat Anda memeriksa file;   namun, jika file dengan akhir CRLF tidak sengaja diperkenalkan,   maka Anda mungkin ingin Git memperbaikinya. Anda dapat memberi tahu Git untuk mengonversi CRLF menjadi   LF pada komitmen tetapi bukan sebaliknya dengan mengatur core.autocrlf ke   memasukkan:

$ git config --global core.autocrlf input

Pengaturan ini harus meninggalkan Anda dengan akhir CRLF di Windows checkout,   tetapi akhir LF pada sistem Mac dan Linux dan di repositori.

Jika Anda seorang programmer Windows melakukan proyek hanya-Windows, maka Anda   dapat mematikan fungsi ini, merekam pengembalian carriage di   repositori dengan mengatur nilai konfigurasi ke false:

$ git config --global core.autocrlf false

1060
2018-04-29 15:34



Jika Anda mau, Anda dapat menonaktifkan fitur ini dalam konfigurasi git core Anda

git config core.autocrlf false

Tapi itu akan lebih baik untuk menyingkirkan peringatan yang digunakan

git config core.autocrlf true

309
2018-02-01 10:45