.gitattributes 文件添加了换行符
.gitattributes file is added for line breaks
我正在使用 Github 和 TeamCity。
txt
文件的换行符在提交到 Github
后不存在,
我该怎么做才能在 txt 文件中保留这些换行符?
当我使用 notepad++
查看这些文件时 - 出现换行符,
但是当使用 Windows notepad
时没有换行符。
我搜索了一个解决方案,我发现如果在根目录中添加一个新文件
.gitattributes
将包含:
*.txt crlf
也试过
*.txt eol=crlf
会解决问题,所以我提交给Github,然后尝试再次下载txt文件,但仍然没有显示换行符。
还能做什么?我如何确定 Github 正在使用我添加的 .gitattributes
?因为它似乎不使用它。
为了解决这个问题,我最终将 .gitattributes
文件添加到项目的根文件夹中,内容如下:
# Windows-only files
*.txt text eol=crlf
但这只能解决 Github 中的问题,我使用 Github
也使用 TeamCity
所以当我通过TeamCity
下载文本文件时,文件EOL没有设置为CRLF
在 TeamCity
中,还需要选中此复选框(在 VCS 中):
正如我 mentioned here,使用 Git 2.16 或更高版本,您可以在本地存储库中添加或提取 .gitattributes
文件:
git add --renormalize .
git commit -m "Introduce end-of-line normalization"
您可以使用 latest portable Git (like PortableGit-2.17.0-64-bit.7z.exe
), and using a 测试它。
这比现在尝试用 Tortoise 做同样的事情要简单Git。
如果本地一切仍然失败,则必须使用某些工具更改文件内容,这就是 OP 发现的情况:在这里,TeamCity 没有选择正确的选项。
我正在使用 Github 和 TeamCity。
txt
文件的换行符在提交到 Github
后不存在,
我该怎么做才能在 txt 文件中保留这些换行符?
当我使用 notepad++
查看这些文件时 - 出现换行符,
但是当使用 Windows notepad
时没有换行符。
我搜索了一个解决方案,我发现如果在根目录中添加一个新文件
.gitattributes
将包含:
*.txt crlf
也试过
*.txt eol=crlf
会解决问题,所以我提交给Github,然后尝试再次下载txt文件,但仍然没有显示换行符。
还能做什么?我如何确定 Github 正在使用我添加的 .gitattributes
?因为它似乎不使用它。
为了解决这个问题,我最终将 .gitattributes
文件添加到项目的根文件夹中,内容如下:
# Windows-only files
*.txt text eol=crlf
但这只能解决 Github 中的问题,我使用 Github
也使用 TeamCity
所以当我通过TeamCity
下载文本文件时,文件EOL没有设置为CRLF
在 TeamCity
中,还需要选中此复选框(在 VCS 中):
正如我 mentioned here,使用 Git 2.16 或更高版本,您可以在本地存储库中添加或提取 .gitattributes
文件:
git add --renormalize .
git commit -m "Introduce end-of-line normalization"
您可以使用 latest portable Git (like PortableGit-2.17.0-64-bit.7z.exe
), and using a
这比现在尝试用 Tortoise 做同样的事情要简单Git。
如果本地一切仍然失败,则必须使用某些工具更改文件内容,这就是 OP 发现的情况:在这里,TeamCity 没有选择正确的选项。