【问题标题】:.gitattributes file not converting line endings.gitattributes 文件不转换行尾
【发布时间】:2015-04-03 07:37:12
【问题描述】:

我在我的 git install (CentOS) 的根目录中创建了一个 .gitattributes 文件。我已经通过 samba 共享连接在 PHPStorm 中创建了测试文件,并将行尾设置为 CRLF。我添加并提交了测试文件,希望文件的行尾更改为 LF,但是当我在 vim 中检查文件时,它会在我打开文件时在文件名旁边显示:[noeol][dos]。似乎 .gitattributes 文件没有转换为 LF ......我不正确吗?我很确定我已经正确设置了属性(见下文)。我做错了吗?

# Set the default behavior, in case core.autocrlf is not set
* text=auto

# Explicitly declare text files you want to always be normalized and  converted to native line endings
*.htm text
*.html text
*.tpl text
*.css text
*.js text
*.php text
*.xml text
*.txt text
*.ini text
*.inc text
*.bak text
*.pm text
*.cgi text
.htaccess text

# Denote all files that are truely binary and should not be modified
*.png binary
*.jpg binary
*.jpeg binary
*.gif binary
*.ico binary
*.mov binary
*.mp4 binary
*.mp3 binary
*.flv binary
*.fla binary
*.swf binary
*.gz binary
*.zip binary
*.7z binary
*.ttf binary

【问题讨论】:

  • 你在哪里有那个属性文件?您将eol 属性和core.eol git config 设置设置为什么?
  • 该文件与 .git 文件夹位于同一目录中。 - 并且根本没有设置 core.eol 属性。

标签: git vim centos phpstorm


【解决方案1】:

Git 转换发生在您正在执行的任何操作的目的地,您可以在进出存储库的途中进行不同的转换。在这里,您告诉它以两种方式转换文本 eol,但实际上还没有从 repo 中提取任何内容。执行git reset --hard 以强制使用任何新过滤器/属性从提交的内容刷新当前工作树。 由于git 2.16你也可以使用

git add --renormalize .

text 属性处理控制进入 repo 过程中发生的事情,而core.eol 控制退出过程中发生的事情,这可能有点违反直觉:

文字
此属性启用和控制行尾标准化。当一个文本文件被规范化时,它的行尾被转换为 LF 在存储库中。要控制工作目录中使用的行尾样式,请对单个文件使用 eol 属性,对所有文本文件使用 core.eol 配置变量。

【讨论】:

  • 我最初这样做是为了让所有现有文件都具有 LF 并清除所有 CRLF 并且有效 - 但我当时也设置了 core.eol。我正在尝试在没有专门设置为 repo 的 core.eol 的情况下执行此操作,如果有人忘记设置 core.eol 设置,可以部署并且仍然可以工作。
  • 我正在查看 .gitattribute 手册页,其中指出:设置为字符串值“auto” 当文本设置为“auto”时,路径被标记为自动行尾规范化。如果 git 确定内容是文本,则在签入时将其行尾规范化为 LF。
  • 这里重要的是“签到”。 core.eol 控制结帐行为。
  • 感谢您的回答,事情的处理方式有点令人困惑。我只是假设,一旦在签入时修改了结局,那将保持这种修改。总而言之,我想设置 core.eol 没什么大不了的。
  • 结局确实在存储库中保持这种方式,您将 repo 设置为在签入时转换为 lf,它就是这样做的。您还在结帐时将其设置为本地行结尾,但您必须使用这些设置实际进行结帐。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-02
相关资源
最近更新 更多