我刚刚创建了一个新的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
目录,或者根本不标记?或者甚至可能是别的东西?
提前致谢!
答案 0 :(得分:2)
首先,为什么所有
.css
,.scss
和.js
文件都设置为linguist-vendored
?
根据我的理解阅读提交e3630a5和93876d6的评论,作者希望确保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所有可能影响统计信息的第三方代码,但不是由存储库所有者创作的。您可以使用覆盖更改默认行为。