Github将存储库更改为错误的语言
我知道这没什么大不了的,但我喜欢我的Github语言多样化。我用Swift写了一个项目,当我提交时,它说它在目标C中 我认为这可能是因为解析框架是用Objective C编写的,它会检测到这一点,但是有没有办法更改主存储库页面上的显示语言?如 GitHub使用开放源代码确定用于语法突出显示和存储库统计的文件语言。Github将存储库更改为错误的语言,git,github,repository,github-linguist,Git,Github,Repository,Github Linguist,我知道这没什么大不了的,但我喜欢我的Github语言多样化。我用Swift写了一个项目,当我提交时,它说它在目标C中 我认为这可能是因为解析框架是用Objective C编写的,它会检测到这一点,但是有没有办法更改主存储库页面上的显示语言?如 GitHub使用开放源代码确定用于语法突出显示和存储库统计的文件语言。 有些文件很难识别,有时项目包含的库文件和供应商文件比其主代码多 因此,您需要与进行检查以修复此情况 百分比是根据报告的每种语言的代码字节计算的。 如果酒吧正在报告一种您不期望的语言:
有些文件很难识别,有时项目包含的库文件和供应商文件比其主代码多 因此,您需要与进行检查以修复此情况 百分比是根据报告的每种语言的代码字节计算的。
如果酒吧正在报告一种您不期望的语言:
- 单击统计栏中的语言名称,查看标识为该语言的文件列表
- 如果文件被错误分类,请搜索以查看是否有其他人已报告该问题。您可以添加的任何信息,特别是指向公共存储库的链接,都是有帮助的
- 如果没有报告此错误分类的问题,并包括指向存储库的链接或正在错误分类的代码示例
2017年2月更新(一年后): 文章“”来自 在研究如何解决GitHub对项目语言的错误分类时,我发现解决方案非常简单,只需告诉GitHub忽略哪些文件即可 虽然您仍然希望将这些文件提交到GitHub,因此无法使用
.gitignore
文件,但您可以告诉GitHub的语言学家在.gitattributes
文件中忽略哪些文件
这一行文件告诉GitHub忽略我的static/
文件夹中的所有文件,该文件夹是为Flask应用程序存储CSS和其他资产的地方
图中确实说明了如何标记错误的语言。例如: 将未编写的代码(如JavaScript库)检查到git repo中是一种常见做法,但这通常会增加项目的语言统计,甚至可能导致项目被标记为另一种语言
默认情况下,语言学家将
vendor.yml
中定义的所有路径视为vendored,因此不会将它们包含在存储库的语言统计信息中
对供应商或非供应商路径使用语言学家vendor属性
为了简单起见,让我分享一下我的步骤:
src/main/resources/static/*语言学家
使用“语言学家文档”属性将路径标记为文档或取消标记为文档:
项目文档/*语言学家文档
或标记包含文档的单个文件
documented\u code.rb语言学家文档=true
这有点奇怪,但您也可以这样做——告诉Github将某些具有特定扩展名(例如.*.rb)的文件视为Java:
*.rb language=Java
我发现最简单的方法是在我的存储库的根文件夹中创建一个名为
.gittributes
的文件,并为其提供以下内容:
* linguist-vendored
*.js linguist-vendored=false
这个例子告诉github/语言学家忽略所有文件,然后只查看.js文件。我的项目被列为HTML,因为HTML示例文件比JS文件大。这个文件为我修复了它,现在它被列为JavaScript,创建一个名为.gittributes的文件到您的项目根文件夹。添加
{file_name}语言学家generated=true
就可以做到这一点。就我而言
mvnw.cmd linguist-generated=true
mvnw linguist-generated=true
为我工作。回答上述问题的专家EamonnM提供的解决方案在我的项目中起了作用,但有两件事很重要
*
之前键入任何空格。(例如,当我想将语言更改为swift时,我应该键入*。swift语言学家vendored=false
。)我有一个在Objective-C中启动的项目,并完全更改为Swift(新项目,但在同一存储库目录中)。 Github一直将其标识为Objective-C,无论我在gitattributes中添加了什么。(以上所有解决方案) 因此,如果jig已经启动,并且您确信所有项目都是一种语言,那么您可以从根本上说:
只有这样才能解决问题:)在.gittributes文件中,只需告诉语言学家不要确定您不需要的文件语言即可 忽略Javascript文件的示例
*.js linguist-vendored
用该属性替换.gittributes,它将所有文件重新分类为Java
*.* linguist-language=Java
通过在
文件中使用以下属性,可以避免意外的语言检测(通过扩展名或项目子文件夹等):
*.blade.php linguist-vendored
语言统计中仅包括编程语言。不同类型的语言(如中所定义)是不“可检测”的,因此不包括在语言统计中
使用语言学家属性标记或
*.* linguist-language=Java
*.cs linguist-detectable=true
*.js linguist-detectable=false`
*.html linguist-detectable=false
*.xml linguist-detectable=false
# add this two lines
*.* linguist-language=Swift
project-docs/* linguist-documentation
*.blade.php linguist-vendored