【问题标题】:.gitattributes linguist attributes standard.gitattributes 语言学家属性标准
【发布时间】:2018-11-12 02:18:13
【问题描述】:

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

默认的.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 统计数据?

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

提前致谢!

【问题讨论】:

    标签: git laravel github gitattributes github-linguist


    【解决方案1】:

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

    据我了解在提交 e3630a593876d6 上阅读 cmets,作者希望确保将 Laravel 项目标记为 PHP(GitHub 使用语言统计中的第一语言标记项目) .

    这不仅会从 Linguist 中排除所有此类用户创建的文件,而且 Laravel 也分别只有 1、2 和 4 个这些文件,这将如何显着影响 Linguist 统计数据?

    在 Linguist 中,语言统计数据来自每种语言的文件大小(您可以阅读我在 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 目录,还是根本不标记?或者甚至是别的什么?

    这完全取决于您;据我所知,没有关于什么是供应商代码的约定

    在 Linguist 中,we try to mark as vendored 所有可能影响统计信息但并非由存储库所有者编写的第三方代码。不过,您可以使用覆盖来更改默认行为。

    【讨论】:

    • 是的,我已经阅读了那些提交 cmets,但考虑到文件的数量,我不理解它们。无论如何我现在明白了,非常感谢!
    猜你喜欢
    • 2019-06-02
    • 2012-12-18
    • 2022-01-15
    • 2014-07-26
    • 1970-01-01
    • 1970-01-01
    • 2016-02-29
    • 1970-01-01
    • 2018-10-29
    相关资源
    最近更新 更多