Saya bercabang salinan dahulu dan kemudian menukar salah satu fail.
Tangkapan skrin di bawah muncul semasa permintaan tarik Mengapa ini berlaku?
Saya hanya menukar baris 16. Mengapakah keseluruhan fail kelihatan berbeza apabila membandingkan fail apabila hanya satu baris ditukar?
Ini mungkin masalah penukaran ruang dan tab, bergantung pada beberapa tetapan alat pembangunan yang anda gunakan
Windows menggunakan
CRLF
dua aksara, pemisah baris*Unix dan Mac menggunakan
LF
pemisah baris secara lalaiJadi selepas mesin Windows anda menyimpan pengubahsuaian, ia secara automatik akan menukar
LF
dalam fail kepadaCRLF
Penyelesaian adalah seperti berikut:
Git secara automatik boleh menukar penamat talian CRLF kepada LF apabila anda membuat komitmen, dan menukar LF kepada CRLF apabila menyemak kod. Gunakan core.autocrlf untuk menghidupkan ciri ini Jika anda menggunakan sistem Windows, tetapkannya kepada benar supaya apabila menyemak kod, LF akan ditukar kepada CRLF:
.Sistem Linux atau Mac menggunakan LF sebagai penamat talian, jadi anda tidak mahu Git menukarnya secara automatik apabila menyemak fail anda pasti mahu membetulkannya apabila fail dengan CRLF sebagai penamat talian diperkenalkan secara tidak sengaja. Tetapkan core.autocrlf kepada input untuk memberitahu Git supaya menukar CRLF kepada LF apabila melakukan, tetapi tidak semasa mendaftar keluar:
Ini akan mengekalkan CRLF dalam fail yang diperiksa pada sistem Windows dan LF pada sistem Mac dan Linux, termasuk repositori.
Jika anda seorang pengaturcara Windows dan sedang membangunkan projek yang hanya berjalan pada Windows, anda boleh menetapkan palsu untuk membatalkan fungsi ini dan merekodkan aksara carriage return dalam pustaka:
Anda boleh merujuk kepada dokumentasi rasmi bahasa Cina