如何创建Git属性文件

Car*_*rel 24 git gitattributes

我想描述一个属性文件添加到我的Git仓库在这里.它表明我应该包含.gitattributes在我的存储库的根文件夹中.

  • .gitattributes一种简单的文件还是文件夹?如何创建此文件/文件夹?

    Windows引发以下错误:

    "无法创建没有文件名的文件"

    "你必须输入文件名"

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

  • 是否会为其他贡献者强制执行克隆/分配我的存储库的属性?

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

相关: Git Ignore

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

Car*_*rel 30

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

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

    .gitattributes.
    
    Run Code Online (Sandbox Code Playgroud)

    注意:这是DOT+ gitattributes+ DOT,windows将删除DOT产生适当文件名的尾随

  • Linux:它的变种(Gentoo,Raspberry Pi,Mac OS等)

    touch .gitattributes
    
    Run Code Online (Sandbox Code Playgroud)
  • 或者:克隆Git属性存储库并移动/复制.gitattributes适用于您的存储库的文件(脚注1和2).

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

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

    \Repository                        (1)
    \Repository\.git\info\attributes   (3)
Run Code Online (Sandbox Code Playgroud)
  1. .gitattributes此处添加文件会将属性设置为"通用".
  2. .gitattributes此创建文件会设置"个人"属性,即自己计算机上的存储库.虽然不建议你可能有充分的理由这样做.

是否会为其他贡献者强制执行克隆/分配我的存储库的属性?

如果文件被提交到存储库,则在克隆存储库时将克隆该文件,并且相应地在一个项目的贡献者的机器上强制执行属性(脚注: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文件中的白痴.是的,这将适用"个人"属性,但有一天会覆盖你的"全球"工作,有一天会有眼泪和拥抱......很多拥抱!