.gitattributes语言学家属性标准

时间:2018-06-01 22:55:35

标签: git laravel github gitattributes github-linguist

我刚刚创建了一个新的Laravel项目,并且我正在设置我的.gitattributes语言学家属性。问题是,我不确定为哪些文件/目录设置哪些。

默认的.gitattributes文件如下所示:

* text=auto
*.css linguist-vendored
*.scss linguist-vendored
*.js linguist-vendored
CHANGELOG.md export-ignore

首先,为什么所有.css.scss.js文件都设置为linguist-vendored?这不仅会排除Linguist中所有这些用户创建的文件,而且Laravel也只分别拥有这些文件中的1,2和4个文件,这将如何显着影响语言学家的统计数据?

其次,是否有关于哪些文件应标记为linguist-vendored的约定/标准?我应该标记所有Laravel文件,只标记我不修改的文件,只标记vendor目录,或者根本不标记?或者甚至可能是别的东西?

提前致谢!

1 个答案:

答案 0 :(得分:2)

  

首先,为什么所有.css.scss.js文件都设置为linguist-vendored

根据我的理解阅读提交e3630a593876d6的评论,作者希望确保Laravel项目被标记为PHP (GitHub使用第一种语言标记项目语言统计)。

  

这不仅会从Linguist中排除所有这些用户创建的文件,而且Laravel也只分别拥有这些文件中的1,2和4个文件,这对语言学家的统计数据有何影响?

在语言学家中,语言统计数据来自每种语言的文件大小(您可以在how Linguist works上阅读我的答案以获取更多详细信息)。因此,单个大文件可以更改语言统计信息

在Laravel的情况下,如果我删除Linguist覆盖并再次在存储库上运行Linguist,我会得到以下统计信息:

94.11%  PHP
3.30%   HTML
1.42%   JavaScript
0.68%   Vue
0.49%   CSS

因此无需使用Linguist覆盖将存储库标记为PHP。添加覆盖时,可能会有更大的文件。

请注意,Laravel存储库包含两个较大的缩小文件。语言学家认识到存在缩小并将其标记为生成,从而自动将其排除在统计数据之外。

  

其次,是否有关于哪些文件应标记为linguist-vendored的约定/标准?我应该标记所有Laravel文件,只标记我不修改的文件,只标记vendor目录,或者根本不标记?或者甚至可能是别的东西?

这真的取决于你;据我所知,没有关于什么构成销售代码的约定

在语言学家中,we try to mark as vendored所有可能影响统计信息的第三方代码,但不是由存储库所有者创作的。您可以使用覆盖更改默认行为。