【问题标题】:How can .gitattributes be used to get Github to display the correct primary language for a repo?如何使用 .gitattributes 让 Github 为 repo 显示正确的主要语言?
【发布时间】:2023-03-08 02:10:01
【问题描述】:

我用 Python 编写了一个程序,并使用 Bootstrap 作为它的前端。

当我在 GitHub 上上传目录时,它显示该项目是 90% 的 JavaScript,只有 7.5% 的 Python。我知道这是因为 Bootstrap 文件夹中的 JS 目录而发生的。

我需要将 Python 显示为 repo 的主要项目语言。

我做了一些研究,了解到将文件 .gitattributes 添加到您的项目是一种解决方案,但我不知道在该文件中添加什么以使 Github 在评估项目的主要语言时忽略 JavaScript .

我查看了official .gitattributes manual page,但找不到此问题的直接解决方案。

这是回购的样子

Link to Github repo

编辑:所有的 CSS 和 JS 文件都在 static/ 文件夹中,所以我在 repo 中添加了一个 .gitattributes 文件并在第一行添加了 static/* linguist-vendored,但是 repo 仍然显示 JS 为 90%语言。

【问题讨论】:

标签: git github gitattributes github-linguist


【解决方案1】:

gitattributes 官方文档不会对此进行任何说明,因为它是 GitHub 特有的功能。 Git 本身不做语言统计。

GitHub 使用名为 Linguist 的工具进行语言统计,Linguist allows you to specify paths it should ignore using a custom linguist-vendored attribute:

将您未编写的代码(例如 JavaScript 库)检查到您的 git 存储库中是一种常见的做法,但这通常会夸大您项目的语言统计信息,甚至可能导致您的项目被标记为另一种语言。默认情况下,Linguist 将 vendor.yml 中定义的所有路径视为已售出,因此不会将它们包含在存储库的语言统计信息中。

对供应商或非供应商路径使用linguist-vendored 属性。

$ cat .gitattributes
special-vendored-path/* linguist-vendored
jquery.js linguist-vendored=false

请注意此更改的影响can take some time to appear

当您将更改推送到 GitHub.com 上的存储库时,一个低优先级的后台作业会排入队列以分析您的存储库,如上所述。此分析的结果会在存储库的整个生命周期内进行缓存,并且仅在更新存储库时才会更新。由于此分析是由低优先级后台作业执行的,因此您的语言统计信息栏可能需要一段时间才能反映您的更改,尤其是在繁忙时段。

在您更改 .gitattributes 之后,给 GitHub 一两天时间来赶上。

【讨论】:

  • 感谢您的回复,克里斯。我将上述代码块的最后两行添加到我的 .gitattributes 文件中,但它仍然没有改变任何内容。这是文件看起来像 atm github.com/sharmaeshaan/Stats4R/blob/master/.gitattributes
  • @EshaanSharma,请参阅我刚刚添加到答案中的注释。另请注意,我给出的示例直接来自 Linguist 的文档;您可能实际上并不需要在您的仓库中使用special-vendored-path/* linguist-vendored
  • 知道了。感谢您的帮助!
  • @EshaanSharma,不客气。一旦您的语言统计信息得到修复,请记得回来并accept this answer 如果它解决了您的问题。
  • 嘿@Chris,解决方案是在.gitattributes 中添加一行——*.js linguist-vendored,更改会立即反映。存储库现在将 Python 显示为主要语言。无论如何感谢您的意见。
猜你喜欢
  • 2019-06-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-11
  • 2021-05-28
  • 1970-01-01
相关资源
最近更新 更多