是否有文件或菜单可以让我更改如何处理行尾的设置?
我了解到有3个选项:
签出Windows样式,提交Unix样式Git将在签出文本文件时将LF转换为CRLF。什么时候提交文本文件时,CRLF将转换为LF。对于跨平台项目,这是Windows上的建议设置(“core.autorlf”设置为“true”)按原样签出,提交Unix样式Git在签出文本文件时不会执行任何转换。提交文本文件时,CRLF将转换为LF。对于跨平台项目这是Unix上的推荐设置(“core.autorlf”设置为“input”)。按原样签出,按原样提交Git在签出或提交时不会执行任何转换文本文件。跨平台不建议选择此选项项目(“core.autocrlf”设置为“false”)
如果要将已更改为UNIX格式的文件格式从PC格式转换回UNIX格式。
(1) 您需要重新安装乌龟GIT,并在“行尾转换”部分确保您选择了“按原样签出-按原样签入”选项。
(2) 并保持其余配置不变。
(3) 安装完成后
(4) 将所有转换为UNIX格式的文件扩展名写入文本文件(extensions.txt)。
ex:*.dsp
*.dsw
(5) 将文件复制到克隆中在GITBASH中运行以下命令
while read -r a;
do
find . -type f -name "$a" -exec dos2unix {} \;
done<extension.txt
操作系统中使用的行尾格式:
Windows:CR(回车)和LF(换行)对OSX,Linux:LF(换行\n)
我们可以通过两种方式将git配置为自动更正每个操作系统的行尾格式。
Git全局配置使用.gitattributes文件
全局配置
在Linux/OSX中
git config --global core.autocrlf input
这将在提交时将任何CRLF修复为LF。
在Windows中
git config --global core.autocrlf true
这将确保当您在窗口中签出时,所有LF都将转换为CRLF。
.gitattributes文件
保留.gitattributes文件是个好主意,因为我们不希望团队中的每个人都设置自己的配置。此文件应放在存储库根目录和中。如果它存在,git将尊重它。
* text=auto
这会将所有文件视为文本文件,并在签出时自动转换为OS的行结束,在提交时自动转换回LF。如果要显式指定行尾,可以使用:
* text eol=crlf
* text eol=lf
第一个用于签出,第二个用于提交。
*.jpg binary
这将把所有.jpg图像视为二进制文件,而不考虑路径。因此不需要转换。
或者可以添加路径限定符:
my_path/**/*.jpg binary