如何创建Git属性文件

gblwokeq  于 2023-08-01  发布在  Git
关注(0)|答案(1)|浏览(114)

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

  • .gitattributes是一个文件还是一个文件夹?如何创建此文件/文件夹?
  • Windows引发以下错误:*
    “无法创建没有文件名的文件”
    “您必须键入文件名”
  • 应该在哪里添加文件?在存储库根目录X:\PATH\TO\Repository\下,还是在Git文件夹X:\PATH\TO\Repository\.git\下?
  • 其他贡献者克隆/分叉我的仓库时,这些属性是否会被强制执行?
  • 例如,如果我推送到GitHub或GitLab,而另一方拉下了一个副本,我添加的属性也会在他们的机器上强制执行吗?*
    相关:Git Ignore
    **注意:**我在Windows平台上使用TortoiseGit和msysgit,如果它有帮助的话。
gr8qqesn

gr8qqesn1#

.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   (2)


1.在此处添加.gitattributes文件将设置属性“Universally”。
1.在这里创建.gitattributes文件会设置属性“Personally”,即用户自己机器上的存储库。虽然不明智,但您可能会有good reason这样做。

其他贡献者克隆/派生我的仓库时,是否会强制执行这些属性?

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

脚注:

1.如果您使用的是大型文件存储(Git LFS),则必须小心,因为这些文件可能不被LFS感知,反之亦然。此外,LFS将在您设置跟踪时为您创建.gitattributes
1.巧合的是,也有Git Ignore的存储库。
1.最初,当我第一次提问时,我关心的是正确处理行尾; .gitattributes可以很好地处理这个问题,但是每个贡献者最好在他们自己的机器上正确地配置git。
1.不要像白痴一样将.gitattributes添加到.gitignore文件中。是的,这将应用属性“个人”,但有人会覆盖你的变通办法“全球”有一天,将有眼泪和拥抱...很多拥抱!!!

相关问题