解决方案:在git文件夹中创建.gitattributes
,并在文件路径后粘贴linguist-languate=text
。示例:
/other_libraries/* linguist-language=text
/linguist_ignore.c linguist-language=text
注意:linguist-vendored=false
没有解决问题。GitHub仍然检测到标记为C代码的文件。
问题:
我的C++/OpenGL项目是用glad.c
编译的,stb_imbage.h
包含在mail.cpp
文件中。两者都位于包含.git
目录的根文件夹中。为了编译项目,这两个文件必须存在,所以我想保留它们。
问题:GitHub对这些文件进行索引,并将它们添加到Language统计中。这是不可取的,因为它不是包含我的代码的文件。
如何让Git跟踪某些文件,但将其从语言中排除?
我曾尝试在GitHub文档中寻找关于Linguist和Stack Overflow的解决方案,但没有成功。
我知道如何使用.gitignore
忽略文件。但这不是解决方案,因为被忽略的文件不会被提交。
GitHub使用Linguist库生成语言统计信息。
在https://github.com/github/linguist/blob/master/docs/overrides.md您可以阅读有关使用.gitattributes
文件覆盖默认行为的方法。看起来以下部分最适合您的情况:
卖家代码
将你没有写的代码(如JavaScript库)检查到你的git repo中是一种常见的做法,但这通常会使你的项目的语言统计数据膨胀,甚至可能导致你的项目被标记为另一种语言。默认情况下,Linguist将vendor.yml中定义的所有路径都视为vendored,因此不会将它们包含在存储库的语言统计信息中。
将语言学家vendored属性用于供应商或非供应商路径:
(以下为示例)