【问题标题】:How to create a Git attributes file如何创建 Git 属性文件
【发布时间】:2013-08-22 06:25:53
【问题描述】:

我想将属性文件添加到我的 Git 存储库中,如 here 所述。它表明我应该在我的存储库的根文件夹中包含.gitattributes

  • .gitattributes 只是一个文件还是一个文件夹?如何创建此文件/文件夹?

    Windows 出现以下错误:

    “无法创建没有文件名的文件”

    “您必须输入文件名”

  • 应该在哪里添加文件?在存储库根目录下,X:\PATH\TO\Repository\,或 Git 文件夹下,X:\PATH\TO\Repository\.git\

  • 其他贡献者克隆/复制我的存储库时是否会强制执行这些属性?

    例如如果我推送到 GitHub 或 GitLab 并且其他方拉下一个副本,我添加的属性是否也会在他们的机器上强制执行?

相关: Git Ignore

注意:如果有帮助,我会在 Windows 平台上使用 TortoiseGit 和 msysgit。

【问题讨论】:

  • 我对文件名也有同样的问题,因为我使用的是 Windows 10(周年更新),所以我可以使用 Bash(Windows 的 Ubuntu 子系统)运行 mv whatever.doc .gitattributes

标签: git gitattributes


【解决方案1】:

.gitattributes 是文件还是文件夹?如何创建它?

  • Windows : 在 Windows 资源管理器中创建一个新文本文件(右键单击>新建>文本文件)并将其重命名(快捷方式:F2)如下

    .gitattributes.
    

    注意:DOT + gitattributes + DOT,windows 将删除尾随 DOT 为您生成适当的文件名

  • Unix : 及其变体(Ubuntu、Raspberrian、Mac OS 等)

    touch .gitattributes
    
  • 或者:克隆 Git Attributes 存储库并移动/复制适用于您的存储库的 .gitattributes 文件(脚注 1 和 2)。

应该在哪里添加文件?在存储库根目录下,X:\PATH\TO\Repository\,或 Git 文件夹下,X:\PATH\TO\Repository\.git\

有两个位置可以添加 Git 属性文件

    \Repository                        (1)
    \Repository\.git\info\attributes   (3)
  1. 在此处添加.gitattributes 文件会设置“通用”属性。
  2. 在此处创建.gitattributes 文件设置属性“个人”,即自己机器上的存储库。虽然不建议您这样做,但您可能需要 good reason

其他贡献者克隆/复制我的存储库时是否会强制执行这些属性?

如果文件是committed 到存储库,它将在克隆存储库时被克隆,并且相应地在项目贡献者的机器上强制执行属性(脚注:3 和 4)。 当.gitattributes 添加到项目根X:\PATH\TO\Repository\.gitignore 时,属性被“全局”应用,当添加到某个子文件夹X:\PATH\TO\Repository\SOME\SUB-FOLDER\.gitignore 时,属性被“本地”应用。


脚注:

  1. 如果您使用大文件存储 (Git LFS),则必须小心,因为这些文件可能不支持 LFS,反之亦然。此外,LFS 会在您设置跟踪时为您创建 .gitattributes
  2. 巧合的是还有Git Ignore的存储库。
  3. 最初,当我第一次提出问题时,我关心的是行尾的正确处理; .gitattributes 处理得很好,但最好让每个贡献者在自己的机器上正确配置 git。
  4. 不要把.gitattributes 添加到.gitignore 文件中。是的,这将应用“个人”属性,但有一天有人会“全球”覆盖您的解决方法,并且会有眼泪和拥抱......很多拥抱!!!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-05
    • 2021-07-29
    • 1970-01-01
    • 2013-08-20
    • 1970-01-01
    • 2014-03-01
    • 2019-11-05
    • 1970-01-01
    相关资源
    最近更新 更多