在 GitHub 中更改仓库语言
我最近整理了GitHub上已置顶的仓库,发现其中一个仓库显示的语言似乎不太对劲。它显示的是HTML,HTML但这也在意料之中,JavaScript因为那是一个纯JavaScript前端项目,而且JavaScript代码行数比HTML代码行数多。
为了更清楚地说明情况,这里附上我置顶仓库的截图,其中包含我认为标签错误的那个仓库:
我做了一些研究,想弄清楚 GitHub 如何确定仓库的语言,以及如何更改显示的语言。
GitHub 和语言学家图书馆
GitHub表示它使用开源的Linguist Library来确定文件语言,以便进行语法高亮显示和存储库统计。
一旦你将更改推送到 GitHub 上的代码仓库,语言学家就会运行一个低优先级的后台任务,遍历所有文件以确定每个文件的语言。需要注意以下几点:
- 它所知道的所有语言都列在languages.yml 文件中。
- 排除的文件包括二进制数据、供应商代码、生成代码、文档、使用
data(例如 SQL)或prose(例如 Markdown)语言的文件以及显式语言覆盖。
为了确定每个剩余文件的语言,语言学家会按以下七种策略依次进行。每一步要么会确定确切的语言,要么会减少传递给下一步策略的可能语言数量。
- Vim 或 Emacs 模式行
- 常用文件名
- 贝壳
- 文件扩展名
- XML 标头
- 启发式方法
- 朴素贝叶斯分类
然后,结果会用于生成语言统计栏,该统计栏显示构成代码库的各种语言及其各自的百分比。百分比由每种语言的代码字节数决定,具体数值由“列出语言”API提供。顶部显示的所有已置顶代码库所使用的语言是占比最高的语言。
另外,我今天才发现语言统计栏。如果你想知道它在哪,它就在仓库顶部,提交/分支等栏下方,是一个彩色条。这些颜色代表了仓库中使用的语言,点击它就能查看完整的语言分类。🤯
更改存储库显示的语言
现在我们已经了解了 GitHub 如何确定仓库语言的背景知识,接下来我将向您展示如何使用gitattributes.
.gitattributes在你的仓库根目录下创建一个文件-
编辑该文件,并添加以下行,将前面的扩展名替换为您想要忽略的语言
linguist-detectable=false。由于我希望忽略 HTML,因此我在下面包含了 HTML 代码。*.html linguist-detectable=false -
添加、提交并推送更改
瞧,语言已经变成 JavaScript 了!
文章来源:https://dev.to/katkelly/changing-your-repo-s-language-in-github-5gjo


