GitHub - 从第一页上的"Languages"中删除索引文件



我怎样才能删除这个索引的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覆盖(两者都可以)。问题是你的路径匹配不太正确。

来自.gitattributesdocs

模式匹配路径的规则与.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的一些很好的故障排除,显示:

  1. 所有文件被正确忽略。
  2. 我有很多cshtml文件在我的仓库,被分组为HTML+Razor(见这篇文章在GitHub: GitHub语言学家讨论)。
  3. 当我点击"语言"下的"html"链接时,它把我带到了:https://github.com/pownas/Test-Project/search?l=html
  4. 但是语言下的起始页告诉我,我有大约40%的html来自html +Razor搜索:https://github.com/pownas/Test-Project/search?l=HTML%2BRazor

相关内容

  • 没有找到相关文章

最新更新