Git - Windows和Linux的行结尾

时间:2016-01-05 11:32:08

标签: linux windows git ubuntu line-endings

我的主要操作系统是Windows 10。

我有一个在Vagrant中运行的Ubuntu 14.04盒子,我开发了我的应用程序。该框正在运行SMB,它为我提供了对Ubuntu服务器的root文件访问。

在Ubuntu服务器上,我将我的应用程序文件放在GIT仓库中,并以gitlab服务器为原点。

我在我的Windows机器上运行SourceTree,它通过SMB共享连接到ubuntu GIT仓库(所以我假设它使用我的Windows GIT安装)。

ubuntu机器上的Git状态没有任何变化。

Windows和SourceTree上的Git状态表明所有文件都已更改(因为行结尾)。

为了能够在Windows和Linux上使用相同的本地存储,我应该使用哪些操作系统进行哪些设置?

2 个答案:

答案 0 :(得分:9)

在Windows上:

$ git config --global core.autocrlf true

在Linux上:

$ git config --global core.autocrlf input

详细了解Dealing with line endings

答案 1 :(得分:7)

autocrlf设置为所需的值:

autocrlf如何运作

core.autocrlf=true:    core.autocrlf=input:      core.autocrlf=false:

       repo                     repo                    repo
    /        \               /        \              /        \
crlf->lf    lf->crlf     crlf->lf       \          /            \      
 /              \        /                \      /                \

另一种展示autocrlf如何运作的方式

1) true:             x -> LF -> CRLF
2) input:            x -> LF -> LF
3) false:            x -> x -> x