如何阻止 github 修改我的文件(在工作流程中)?

How to stop github from modifying my files (in workflow)?

在 github.com 上,我有一个 6 字节的小文件 hello.txt,其中包含“hello”和 newline:1

在具有 runs-on: ubuntu-18.04 的 Ubuntu-18 工作流程中,我们有:

但是在 Windows 和 runs-on: windows-2019 上,奇迹般地多了一个字节:2

如何去掉这个额外的字节?


更新: 在研究了James' 快速回答后,我在我的hello.txt 所在的目录中选择了一个单行.gitattributes 文件位于:

* -text

该目录仅包含测试数据。


1 我不知道为什么 GitHub 放弃 .txt 扩展,但我是新手。
2 我们都可以假设额外的字节是 carriage-return.

可以通过多种不同的方式配置行结束处理。

我很确定 Windows 当你安装 git 时,会有一个弹出窗口询问你要如何处理 CRLF,但我已经有一段时间没有进行全新安装了.

在此处查看有关如何配置它的官方文档:https://docs.github.com/en/github/getting-started-with-github/configuring-git-to-handle-line-endings

来自 .git 属性选项的文档:


  • text=auto Git 将以它认为最好的方式处理文件。这是一个很好的默认选项。

  • text eol=crlf Git 将始终在结帐时将行结尾转换为 CRLF。您应该将此用于必须保留 CRLF 结尾的文件,即使是 OSX 或 Linux.

  • text eol=lf Git 将始终在结帐时将行结尾转换为 LF。您应该将此用于必须保留 LF 结尾的文件,即使在 Windows.

    上也是如此
  • binary Git 将理解指定的文件不是文本,不应尝试更改它们。二进制设置也是 -text -diff.

    的别名