21

所以我有一个用 C++ 编写的git 存储库,但 github 坚持说我使用的是 D。为什么会这样,有什么办法可以纠正它吗?

4

2 回答 2

13

Github使用它自己的语言解析模块,有时(实际上经常)它会出错。只需编写更多代码,让解析器更容易选择您的主要语言是什么,一段时间后 github 会正确处理。

在这种特殊情况下,代码解析器会被带有扩展名的STMC-C/Assignments/a*dirs 中的文件所欺骗。.d这是 D 源的扩展。在你的项目中这个资源的数量占主导地位,所以 github 决定使用的主要编程语言是 D。

编辑:刚刚找到这个公共回购(github语言检测器) - 它对系统进行了一些解释。

于 2013-06-23T18:02:07.040 回答
3

您可以创建一个文件.gitattributes来设置 GitHub 的 Linguist overrides

要将您的 C++ 文件设置为按扩展名检测为 C++:

*.h linguist-language=C++
*.cpp linguist-language=C++

要忽略生成的文件并且不在差异中显示它们:

generated/*.d linguist-generated=true

此外,如果语言不在已知语言列表中,您可以将某些文件标记为不可检测:

*.t linguist-detectable=false
于 2019-08-13T05:23:11.263 回答