Tri*_*ans 4 git github gitattributes laravel github-linguist
我刚刚创建了一个新的 Laravel 项目,并且正在设置我的.gitattributes
语言学家属性。问题是,我不确定要为哪些文件/目录设置哪些。
默认.gitattributes
文件如下所示:
* text=auto
*.css linguist-vendored
*.scss linguist-vendored
*.js linguist-vendored
CHANGELOG.md export-ignore
Run Code Online (Sandbox Code Playgroud)
首先,为什么所有.css
,.scss
和.js
文件都设置为linguist-vendored
?这不仅会从 Linguist 中排除所有此类用户创建的文件,而且 Laravel 也只有这些文件中的 1、2 和 4 个,这将如何显着影响语言学家的统计数据?
其次,是否有关于哪些文件应标记为的约定/标准linguist-vendored
?我应该标记所有 Laravel 文件,只标记那些我不修改的文件,只标记vendor
目录,还是根本不标记?或者甚至是别的什么?
提前致谢 !
首先,为什么所有
.css
,.scss
和.js
文件都设置为linguist-vendored
?
根据我对提交e3630a5和93876d6 的阅读评论的理解,作者希望确保 Laravel 项目被标记为 PHP(GitHub 用语言统计中的第一语言标记项目)。
这不仅会从 Linguist 中排除所有此类用户创建的文件,而且 Laravel 也只有这些文件中的 1、2 和 4 个,这将如何显着影响语言学家的统计数据?
在 Linguist 中,语言统计数据来自每种语言的文件大小(您可以阅读我关于Linguist 如何工作的回答以获取更多详细信息)。因此,单个大文件可以更改语言统计信息。
在 Laravel 的情况下,如果我删除语言学家覆盖并在存储库上再次运行语言学家,我会得到以下统计信息:
94.11% PHP
3.30% HTML
1.42% JavaScript
0.68% Vue
0.49% CSS
Run Code Online (Sandbox Code Playgroud)
因此无需使用语言学家覆盖来将存储库标记为 PHP。但是,添加覆盖时可能存在较大的文件。
请注意,Laravel 存储库包含两个大的缩小文件。语言学家认识到存在缩小并将它们标记为生成的,从而自动将它们从统计数据中排除。
其次,是否有关于哪些文件应标记为的约定/标准
linguist-vendored
?我应该标记所有 Laravel 文件,只标记那些我不修改的文件,只标记vendor
目录,还是根本不标记?或者甚至是别的什么?
这真的取决于你;据我所知,没有关于什么构成 vendored code 的约定。
在 Linguist 中,我们尝试将所有可能影响统计数据但并非由存储库所有者编写的第三方代码标记为供应商。不过,您可以使用覆盖更改默认行为。