Answers:
我发现最简单的事情是.gitattributes
在存储库的根文件夹中创建一个名为的文件,并提供以下内容:
* linguist-vendored
*.js linguist-vendored=false
这个例子告诉github / linguist忽略所有文件,然后只看.js文件。我的项目https://github.com/aim12340/jQuery-Before-Ready被列为HTML,因为HTML示例文件比JS文件大。此文件已为我修复,现在已列为JavaScript
GitHub使用开源Linguist库来确定语法突出显示和存储库统计信息的文件语言。
有些文件难以识别,有时项目包含的库和供应商文件比其主代码更多。
因此,您需要检查github/linguist#troubleshooting
以解决这种情况。
百分比是根据List Languages API报告的每种语言的代码字节计算得出的。
如果酒吧报告的是您所不期望的语言:
2017年2月更新(一年后):
Monica Powell的文章“ 如何在GitHub中更改回购语言 ”
在研究了如何解决GitHub对项目语言进行错误分类后,我发现解决方案就像告诉GitHub忽略哪些文件一样简单。
虽然您仍然想将这些文件提交到GitHub,因此不能使用,但是
.gitignore
您可以告诉GitHub的语言学家在文件中忽略哪些.gitattributes
文件。
static/* linguist-vendored
这个单行文件告诉GitHub忽略我文件
static/
夹中的所有文件,该文件夹是Flask应用程序存储CSS和其他资产的位置
在“使用.gitattributes
”部分确实说明了如何标记错误的语言。
例如:
将未编写的代码(例如JavaScript库)检入git repo是一种常见的做法,但这通常会夸大项目的语言统计信息,甚至可能使您的项目被标记为另一种语言。
默认情况下,Linguist会将定义的所有路径vendor.yml
视为供应商,因此不会将它们包括在存储库的语言统计中。使用语言学家供应商属性来指定供应商路径或非供应商路径。
$ cat .gitattributes
special-vendored-path/* linguist-vendored
jquery.js linguist-vendored=false
为简单起见,让我分享我的步骤:
将目录更改为项目的根文件夹;
使用您选择的工具创建一个名为.gitattributes的文件:
触摸.gitattributes
按照语言学家的说明来编辑文件,以告诉Github如何做,例如:
vi .gitattributes
使用语言供应商可以让Github对该文件夹和子文件夹进行“跳过”检测:
src/main/resources/static/* linguist-vendored
使用linguist-documentation属性将路径标记为文档或取消标记为文档:
project-docs/* linguist-documentation
或标记包含文档的单个文件
documented_code.rb linguist-documentation=true
这有点怪异,但您也可以这样做–告诉Github将某些具有特定扩展名(例如* .rb)的文件视为Java:
*.rb linguist-language=Java
Git添加,提交,然后将其推送到Github,该标签几乎会立即得到纠正。
*.java linguist-detectable=false *.dart linguist-language=Dart *.dart linguist-detectable=true android/* linguist-vendored build/* linguist-vendored
我有一个项目是从Objective-C开始的,然后完全更改为Swift(新项目,但在相同的存储库目录中)。无论我在gitattributes中添加了什么,Github始终将其标识为Objective-C。(以上所有解决方案)
因此,如果安装了夹具,并且您确定所有项目都是一种语言,则可以从根本上说:
只有这样才能解决问题:)
在.gitattributes文件中,仅告诉Linguist不要确定您不需要的文件语言。
忽略Javascript文件的示例。
*.js linguist-vendored
您可以通过在.gitattributes文件中使用github语言可检测选项来避免意外的语言检测(通过扩展名或项目子文件夹等):
语言统计信息中仅包含编程语言。不同类型的语言(如中所定义
languages.yml
)不可“检测到”,从而导致它们不包含在语言统计信息中。使用
linguist-detectable
属性将路径标记或取消标记为可检测:
*.kicad_pcb linguist-detectable=true
*.sch linguist-detectable=true
tools/export_bom.py linguist-detectable=false
我对此也有问题。我在项目的根目录下创建了.gitattributes。我删除了.js和.cs,但.html仍然存在。这是我的.gitattributes:
*.cs linguist-detectable=true
*.js linguist-detectable=false`
*.html linguist-detectable=false
*.xml linguist-detectable=false
当我添加*语言学家供应时,我在GitHub上看不到任何东西。
谢谢你的帮助。
回答:
仍然相同,仍然显示.html
答案很简单:
只需在项目终端中添加这些行
touch .gitattributes
编写此命令后,应找到此文件-.gitattributes-,如果未出现此文件,请尝试显示隐藏文件以查找它。*.* linguist-language=Java
使用目标语言更改Java-视情况而定-git add .
git commit -m "Change Tagged language from Java to Kotlin"
git push
现在,在刷新Github页面之后,您应该找到新的更新。# add this two lines
*.* linguist-language=Swift
project-docs/* linguist-documentation