.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没有设置为CRLFTeamCity 中,还需要选中此复选框(在 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 没有选择正确的选项。