我想按照here所述将属性文件添加到我的Git存储库。它表明我应该在我的存储库的根文件夹中包含.gitattributes
。
.gitattributes
只是一个文件还是文件夹?如何创建此文件/文件夹?
Windows引发了以下错误:
“无法创建没有文件名的文件”
“您必须输入文件名”
应该在哪里添加文件?在存储库根目录X:\PATH\TO\Repository\
或Git文件夹X:\PATH\TO\Repository\.git\
下?
是否会为其他贡献者强制执行属性克隆/分配我的存储库?
e.g。如果我推送到GitHub或GitLab并且其他一方下拉了副本,那么我添加的属性也会在他们的机器上执行吗?
相关: Git Ignore
注意:如果有帮助,我在Windows平台上使用TortoiseGit和msysgit。
答案 0 :(得分:19)
.gitattributes
是文件还是文件夹?我该如何创建它? Windows :在Windows资源管理器中创建一个新文本文件(右键单击> new>文本文件)并重命名(快捷方式:F2
),如下所示
.gitattributes.
注意: 即DOT
+ gitattributes
+ DOT
,Windows将删除尾随{{1为您生成适当的文件名
Linux:及其变体(Gentoo,Raspberry Pi,Mac OS等)
DOT
另外:克隆Git Attributes存储库并移动/复制适用于您的存储库的touch .gitattributes
文件(脚注1和2)。
.gitattributes
或Git文件夹X:\PATH\TO\Repository\
?有两个位置可以添加Git属性文件
X:\PATH\TO\Repository\.git\
\Repository (1)
\Repository\.git\info\attributes (3)
文件会将属性设置为“通用”。.gitattributes
文件会设置“个人”属性,即自己计算机上的存储库。虽然不建议您这样做good reason。如果文件是committed到存储库,则在克隆存储库时会克隆该文件,并且相应项目的贡献者的计算机上的属性也会被强制执行(脚注:3和4)。
将.gitattributes
添加到项目根目录.gitattributes
和“本地”时,将属性“全局”应用到某个子文件夹X:\PATH\TO\Repository\.gitignore
。
脚注:
X:\PATH\TO\Repository\SOME\SUB-FOLDER\.gitignore
。.gitattributes
处理得很好,但每个贡献者最好在他们自己的机器上正确配置git。.gitattributes
添加到.gitattributes
文件中。是的,这将应用“个人”属性,但有一天将覆盖你的“全球”工作,有一天会有眼泪和拥抱......很多拥抱!!!