在 gitignore 中包含特定的文件扩展名
Including specific file extension in gitignore
我想包含 Assets 目录和所有子目录中的所有 *.meta 文件,同时排除 Assets 中的所有其他内容
我试过了
/Assets/*
!/Assets/**/*.meta
!*.meta
但这只包括 /Assets 中的 *.meta ????
感谢您的帮助
首先,如果忽略规则不起作用,你可以检查这个with git check-ignore
:
git check-ignore -v -- yourFile
它会显示哪个忽略规则忽略了一个你认为不应该被忽略的文件。
那么在忽略时要记住的主要规则是:
It is not possible to re-include a file if a parent directory of that file is excluded. (*
)
(*
: unless certain conditions are met in git 2.?+, see below)
这就是为什么您的规则仅在 /Assets
中包含 *.meta
(而不是子目录)
您需要包含文件的所有父文件夹(如 in this recent example)才能包含文件
/Assets/**/**
! /Assets/**/
!/Assets/**/*.meta
我用 git 2.4.1 测试了它,它可以工作(甚至在 Windows 上)。
它仅包括 Assets
中的 *.meta
文件和所有子目录,但不包括其他所有内容。
请注意,对于 git 2.9.x/2.10(2016 年年中?),如果排除了该文件的父目录,则可能会重新包含该文件 if there is no wildcard in the path re-included.
Nguyễn Thái Ngọc Duy (pclouds
) 正在尝试添加此功能:
- commit 506d8f1 for git v2.7.0, reverted in commit 76b620d git v2.8.0-rc0
- commit 5e57f9c git v2.8.0-rc0,... reverted(!) in commit 5cee3493 git 2.8.0-rc4.
但是,由于重新收录的条件之一是:
The directory part in the re-include rules must be literal (i.e. no wildcards)
那在这里行不通。
我想包含 Assets 目录和所有子目录中的所有 *.meta 文件,同时排除 Assets 中的所有其他内容
我试过了
/Assets/*
!/Assets/**/*.meta
!*.meta
但这只包括 /Assets 中的 *.meta ????
感谢您的帮助
首先,如果忽略规则不起作用,你可以检查这个with git check-ignore
:
git check-ignore -v -- yourFile
它会显示哪个忽略规则忽略了一个你认为不应该被忽略的文件。
那么在忽略时要记住的主要规则是:
It is not possible to re-include a file if a parent directory of that file is excluded. (
*
)
(*
: unless certain conditions are met in git 2.?+, see below)
这就是为什么您的规则仅在 /Assets
中包含 *.meta
(而不是子目录)
您需要包含文件的所有父文件夹(如 in this recent example)才能包含文件
/Assets/**/**
! /Assets/**/
!/Assets/**/*.meta
我用 git 2.4.1 测试了它,它可以工作(甚至在 Windows 上)。
它仅包括 Assets
中的 *.meta
文件和所有子目录,但不包括其他所有内容。
请注意,对于 git 2.9.x/2.10(2016 年年中?),如果排除了该文件的父目录,则可能会重新包含该文件 if there is no wildcard in the path re-included.
Nguyễn Thái Ngọc Duy (pclouds
) 正在尝试添加此功能:
- commit 506d8f1 for git v2.7.0, reverted in commit 76b620d git v2.8.0-rc0
- commit 5e57f9c git v2.8.0-rc0,... reverted(!) in commit 5cee3493 git 2.8.0-rc4.
但是,由于重新收录的条件之一是:
The directory part in the re-include rules must be literal (i.e. no wildcards)
那在这里行不通。