git忽略多个匹配文件
Posted
技术标签:
【中文标题】git忽略多个匹配文件【英文标题】:git ignore multiple matching files 【发布时间】:2011-12-18 07:47:50 【问题描述】:我尝试通过相对路径忽略目录中的文件。例如。我在工作树lib/file.f
中有几个目录,我希望忽略此文件的所有出现。我试过了
lib/file.f
但这不起作用。
【问题讨论】:
【参考方案1】:地点
*/lib/file.f
在您的.gitignore
中。这将导致 git 忽略 project/<DIR>/lib/file.f
形式的任何文件,假设 .gitignore
位于 project
目录中。
要让 git 忽略 lib/file.f
两个目录,您还必须添加
*/*/lib/file.f
到.gitignore
,等等。
当然要简单得多,就是放置
*file.f
在.gitignore
中阻止所有名为file.f
的文件,但您的问题似乎表明至少有一个同名的文件您不想忽略。
【讨论】:
@Holffile.f
不起作用,因为您引用文件本身,没有路径(并且您的项目的根文件夹中可能没有 file.f
)。这就是为什么 unutbu 的答案包含所有示例的完整路径。 *file.f
有效,因为您使用了*
通配符,因此它将忽略与您的模式匹配的任何文件 - 真的是您想要实现的目标吗?【参考方案2】:
您可能还想从 git 缓存中删除该文件,以检查您刚刚忽略的内容:
git rm --cached lib/file.f
如果你已经将文件添加到 git index
【讨论】:
【参考方案3】:如果您想指定特定文件夹下的所有子文件夹,请使用/**/
。要忽略 /src/main/
文件夹和子文件夹中的所有 file.f
文件,请使用:
/src/main/**/file.f
【讨论】:
以上是关于git忽略多个匹配文件的主要内容,如果未能解决你的问题,请参考以下文章