Git下载代码到Windows再拷贝到Linux下编译时要关闭换行符自动转换
在开发过程中,经常从Github上通过TortoiseGit客户端下载代码到Windows上来学习源码,再通过共享目录拷贝到Linux下编译,因为Windows与Linux下的文件换行符不一样,所以需要注意关闭换行符转换,否则执行configure会出错。
一、各操作系统下文件换行符
Linux/Unix:\n <LF> 0A
Windows:\r\n <CR><LF> 0D0A
MacOS:\r <CR> 0D
Linux/Unix打开Windows下带有换行的文件会出现^M 对应<CR>
二、TortoiseGit下载Github代码关闭文件换行符
1、右键TortoiseGit->Settgings
2、点击Edit global.gitconfig修改配置
三、示例说明
以下载libdnet:https://github.com/ofalk/libdnet.git.为例
1、开启换行符自动转换
将代码拷贝到Samba共享目录后进入libdnet目录执行./configure,会提示如下错误
vi打开configure,查看文件格式set ff 发现是Windows文件格式fileformat=dos
head configure |cat -A发现带有换行的文件会出现^M 对应<CR>
2、关闭换行符自动转换后
vi打开configure,查看文件格式set ff 发现是Linux文件格式fileformat=unix
head configure |cat -A后也不再出现^M
./configure也执行正常