我想包含 Assets 目录和所有子目录中的所有 *.meta 文件,同时排除 Assets 中的其他所有内容
我试过
/Assets/*
!/Assets/**/*.meta
!*.meta
Run Code Online (Sandbox Code Playgroud)
但只包括 /Assets 中的 *.meta ???
谢谢你的帮助
首先,如果忽略规则不起作用,您可以使用git check-ignore以下命令进行检查:
git check-ignore -v -- yourFile\nRun Code Online (Sandbox Code Playgroud)\n\n它将显示哪个忽略规则会忽略您认为不应忽略的文件。
\n\n那么在忽略时要记住的主要规则是:
\n\n\n\n\n如果排除某个文件的父目录,则无法重新包含该文件。(
\n*)
\n (*: 除非在 git 2.?+ 中满足某些条件,见下文)
这就是为什么您的规则仅包含*.meta在/Assets(而不是子目录)内
您需要包含文件的所有父文件夹(如最近的示例中所示)才能包含文件
\n\n/Assets/**/**\n! /Assets/**/\n!/Assets/**/*.meta\nRun Code Online (Sandbox Code Playgroud)\n\n我用 git 2.4.1 测试了它,它可以工作(即使在 Windows 上)。
\n它只包含*.meta其中的文件Assets和所有子目录,但排除其他所有内容。
请注意,使用 git 2.9.x/2.10(2016 年中?),如果重新包含的路径中没有通配符,则排除该文件的父目录,则可能可以重新包含该文件。
\n\nNguy\xe1\xbb\x85n Th\xc3\xa1i Ng\xe1\xbb\x8dc Duy ( pclouds)正在尝试添加此功能:
然而,由于重新纳入的条件之一是:
\n\n\n\n\n重新包含规则中的目录部分必须是文字(即没有通配符)
\n
那在这里行不通。
\n| 归档时间: |
|
| 查看次数: |
2329 次 |
| 最近记录: |