我怎样才能删除这个索引的HTML页面,这是一个文档到我在GitHub blob上使用的外部库之一?
我已经尝试了很多不同的命令,但没有找到从GitHub Linguist索引器中删除此文件的方法…
这里是"语言"。它们在起始页上被索引:[image]
我要排除的文件:[image]需要排除的HTML文件
TestProject/wwwroot/lib/bootstrap-icons/docs/index.html
我试图通过根文件夹中的".attributes"-file来删除它的代码(供应商,作品…但并没有摆脱这个html文件…from GitHub-Languages):
### vendored:
TestProject/wwwroot/lib/* linguist-vendored
### documentations:
TestProject/wwwroot/lib/bootstrap-icons/* linguist-documentation
和尝试:
TestProject/wwwroot/lib/bootstrap-icons/* -linguist-documentation
:
TestProject/wwwroot/lib/bootstrap-icons/docs/* linguist-documentation
:
TestProject/wwwroot/lib/bootstrap-icons/docs/* -linguist-documentation
:
TestProject/wwwroot/lib/* linguist-documentation
:
TestProject/wwwroot/lib/* -linguist-documentation
但是我不知道如何删除这个文件:
TestProject/wwwroot/lib/bootstrap-icons/docs/index.html
请帮助我用正确的语法删除文件被索引为语言在我的GitHub存储库,主要分支。🙂
您已经有了正确的想法和正确的Linguist覆盖(两者都可以)。问题是你的路径匹配不太正确。
来自.gitattributes
docs
模式匹配路径的规则与
.gitignore
文件中的规则相同(参见gitignore[5]),但有一些例外:[…]
如果我们查看.gitignore
文档(重点是我的):
星号"
*
";匹配任何,除了斜杠. 字符"?
";匹配任何一个字符,除了"/
"。范围符号,例如[a-zA-Z]
,可以用来匹配范围中的一个字符。更详细的描述请参见fnmatch(3)和FNM_PATHNAME标志。两个连续的星号("匹配完整路径名的模式中的
**
")可能具有特殊含义:[…]
- 拖尾"
/**
";和里面的一切都相配。例如,"abc/**
";匹配目录"abc
",相对于.gitignore
文件的位置,具有无限深度。
你想忽略的文件位于你指定路径的子目录中,所以你需要:
- 使用
TestProject/wwwroot/lib/** linguist-vendored
递归,或 - 使用
TestProject/wwwroot/lib/bootstrap-icons/docs/* linguist-vendored
限制该目录
我们甚至可以不使用Linguist来演示这一点,这要感谢git check-attr
:
$ # Create a repo with just the one file
$ git init -q Test-Project
$ cd Test-Project
$ mkdir -p TestProject/wwwroot/lib/bootstrap-icons/docs/
$ echo "<html>" > TestProject/wwwroot/lib/bootstrap-icons/docs/index.html
$ git add -A
$ git commit -m 'Add file'
[main (root-commit) bed71b5] Add file
1 file changed, 1 insertion(+)
create mode 100644 TestProject/wwwroot/lib/bootstrap-icons/docs/index.html
$
$ # Add your initial override
$ git add -A && git commit -m 'attribs'
[main 7d0a0cf] attribs
1 file changed, 1 insertion(+)
create mode 100644 .gitattributes
$
$ # Check the attributes
$ git check-attr linguist-vendored TestProject/wwwroot/lib/bootstrap-icons/docs/index.html
TestProject/wwwroot/lib/bootstrap-icons/docs/index.html: linguist-vendored: unspecified
$ # So it doesn't have any effect.
$ # Now lets recurse
$ echo "TestProject/wwwroot/lib/** linguist-vendored" > .gitattributes
$ git add -A && git commit -m 'attribs'
[main 9007c34] attribs
1 file changed, 1 insertion(+), 1 deletion(-)
$ git check-attr linguist-vendored TestProject/wwwroot/lib/bootstrap-icons/docs/index.html
TestProject/wwwroot/lib/bootstrap-icons/docs/index.html: linguist-vendored: set
$ # Woohoo!!! It's work.
$ # Lets be specific to the docs dir
$ echo "TestProject/wwwroot/lib/bootstrap-icons/docs/* linguist-vendored" > .gitattributes
$ git add -A && git commit -m 'attribs'
[main a46f416] attribs
1 file changed, 1 insertion(+), 1 deletion(-)
$ git check-attr linguist-vendored TestProject/wwwroot/lib/bootstrap-icons/docs/index.html
TestProject/wwwroot/lib/bootstrap-icons/docs/index.html: linguist-vendored: set
$ # Woohoo!!! It's worked too
来自@lildude的一些很好的故障排除,显示:
- 所有文件被正确忽略。
- 我有很多cshtml文件在我的仓库,被分组为HTML+Razor(见这篇文章在GitHub: GitHub语言学家讨论)。 当我点击"语言"下的"html"链接时,它把我带到了:https://github.com/pownas/Test-Project/search?l=html
- 但是语言下的起始页告诉我,我有大约40%的html来自html +Razor搜索:https://github.com/pownas/Test-Project/search?l=HTML%2BRazor