我有一个问题要配置Notepad ++:我在Windows中使用Notepad ++来编辑我的代码。当我在Linux中执行git diff时,tous les lines显示为已修改。事实上,我确定我打开了文件,但我没有在记事本中修改它!我认为这是记事本的配置问题,当我在记事本中打开文件时,所有的行都会被更改。所以git diff会告诉我,我已经修改了#34;所有线路。你能告诉我如何解决它吗?
答案 0 :(得分:0)
看起来您编辑的代码已经通过Unix行结尾(LF)提交给Git。 Notepad ++将行结尾转换为CRLF,通常在Windows上使用。
您可以通过以下两种方式解决此问题。
如果您只打算在Windows上使用Notepad ++编辑代码,则可以使用Edit > EOL conversion > UNIX/OSX Format
将编辑文件中的所有行结尾转换为Unix格式。
否则,您可以将Git配置为将Unix行结尾检出为CRLF,并通过core.autocrlf
配置选项将其提交为LF。请参阅以下documentation的摘录:
如果你是在Windows上编程并与没有(或反之亦然)的人一起工作,那么你可能会遇到一些问题。 点。这是因为Windows同时使用回车符 和Mac和文件中的换行符换行符 Linux系统仅使用换行符。这是一个微妙的但是 令人难以置信的跨平台工作令人讨厌的事实;许多编辑 Windows使用CRLF静默替换现有的LF样式行结尾,或者 当用户点击回车键时插入两个行尾字符。
Git可以通过将CRLF行结尾自动转换为LF来处理此问题 您将文件添加到索引,反之亦然,当它检出代码时 到您的文件系统。您可以使用。打开此功能 core.autocrlf设置。如果您使用的是Windows计算机,请将其设置为true - 当您检查代码时,这会将LF结尾转换为CRLF:
$ git config --global core.autocrlf true