如何使用.gitattributes让Github显示回购的正确主要语言?

Esh*_*rma 0 git github gitattributes github-linguist

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

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

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

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

我查看了官方.gitattributes手册页,但找不到直接解决此问题的方法.

这是回购的样子

回购截图

链接到Github回购

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

Chr*_*ris 8

官方gitattributes文档不会说明这一点,因为它是GitHub特有的功能.Git本身不做语言统计.

GitHub使用名为Linguist的工具进行语言统计,Linguist 允许您使用自定义linguist-vendored属性指定应忽略的路径:

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

将该linguist-vendored属性用于供应商或非供应商路径.

$ cat .gitattributes
special-vendored-path/* linguist-vendored
jquery.js linguist-vendored=false
Run Code Online (Sandbox Code Playgroud)

请注意,此更改的效果可能需要一些时间才能显示:

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

给GitHub一两天后,在你改变之后赶上.gitattributes.

  • 嘿@Chris,解决方案是在“.gitattributes”中添加一行——“*.js linguist-vendored”,更改会立即反映出来。该存储库现在将“Python”显示为主要语言。无论如何,感谢您的投入。 (3认同)