【问题标题】:.gitattributes control commited end of line symbols.gitattributes 控制提交的行尾符号
【发布时间】:2015-03-11 13:46:59
【问题描述】:

我使用 GIT。我想禁止文本文件的 eol 转换。例如,如果我的项目中的某个人拥有带有 CRLF 的文件,而其他人拥有带有 LF 的文件,我希望所有签入和签出带有相应结束行符号的文件。我读过.gitattributes,但我并不完全理解它,因为据我所知,它只能将一些文件标记为文本,而将其他文件标记为二进制文件。还有 -text 属性,它是“未设置文本”但是我不知道这是否与二进制相同。请注意,我希望我的合并对这两种类型的文件都能正常工作 - 也适用于 CRLF 和 LF。

【问题讨论】:

  • 首先,确保git config core.autocrlf返回false。
  • @VonC 好吧,我使用 .gitattributes 因为我不想在每台机器上手动配置它。

标签: git newline


【解决方案1】:

Git line endings after normalization

TL;DR 只需在仓库的根目录中创建一个 .gitattributes 文件,其中包含两行:

* -text
* whitespace=cr-at-eol

这将关闭 Git 的所有行尾规范化,并由您自行管理。

【讨论】:

    猜你喜欢
    • 2015-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多