git 自动换行在WINDOWS和LINUX下的区别
淡淡烟草味
淡淡烟草味 2017-05-02 09:32:11
0
2
808

最近在windows下面最了个项目用git来管理,git add .的时候一直报错 LF will be replaced by CRLF,网上的大部分答案都是git config --global core.autocrlf false,禁用自动换行,这样做确实可以让我在这个项目中add了

但是问题是,另一项目(从mac下拉的代码),做管理的时候必须要把它设置成true才可以


我现在脑子有点瓦特,能不能哪位大神仔细讲一下,这个过程到底是发生了什么?

淡淡烟草味
淡淡烟草味

membalas semua(2)
刘奇

Um, adakah anda menggunakan Baidu? . . Jadi anda tidak tahu punca masalah itu sama sekali, ia tiada kaitan dengan pembalut talian automatik

karakter baris baharu windows: aksara baris baharu CRLF Linux/UNIX: LF
Jadi sudah tentu anda perlu menukar aksara carriage return daripada windows kepada UNIX.

git config --global core.autocrlf false

Matikan fungsi penukaran baris baharu

git config --global core.autocrlf true

Ia berfungsi seperti berikut:
Git boleh mengendalikan ini dengan menukar pengakhiran baris CRLF secara automatik kepada LF apabila anda menambah fail pada indeks
Daripada dokumentasi rasmi

phpcn_u1582

Memandangkan git adalah eksklusif untuk Linux pada mulanya, pemisah baris sentiasa menjadi LF Linux Jika pasukan projek mempunyai pengguna Linux dan Windows, maka pemisah barisan mesti disatukan sebagai LF autocrlf dihidupkan, fail tempatan pengguna Windows Masih CR LF, ditukar secara automatik kepada LF apabila diserahkan.

ps: Memandangkan Windows digunakan secara meluas di China, sangat mungkin untuk menukar fail khusus Windows kepada pemisah baris LF, seperti skrip batch kelawar Dengan cara ini, fail yang dimuat turun dari github akan kehilangan pemisah baris CR. mengakibatkan ketidakupayaan untuk berlari.

Item tetapan ini berlebihan Biasanya disyorkan untuk mematikannya dan memastikan pemisah baris adalah konsisten. Secara umumnya, IDE semasa boleh memaparkan berbilang gaya pemisah baris secara normal, dan LF juga boleh dipaparkan secara normal di bawah Windows. Selagi anda tidak mengedit kod dengan Windows Notepad, pemisah baris gaya CR LF tidak akan muncul.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan