gitignore 将排除项传播到较低级别的目录中
gitignore propagating exlusions to lower levels into directories
我有一个 gitignore
*
!.*
我希望看到 .*
的所有子目录,但实际上 git 只看到子目录再次以 .
开头的子目录。例如,我看到 .java/.userPrerfs/.user.lock..
,因为两个子目录都以 .
开头,但我没有看到 .conf/ario
或 .java/fonts/
.
如何限制排除*
只适用于顶级?
您想要包含与 .gitignore
文件处于同一级别的路径
!./.*
!.*
因为你没有 "map" 目录它不适合你。
.
代表当前目录,因此您只忽略指定目录中的文件。
使用这个:
*
!**/.*
我做了进一步的实验,发现对于更复杂的需求,
/*
!/.*
/.*/*
!/.config/*
/.config/*/*
!/.config/*/*.conf
可以让我在 .config
目录中找到 .conf
文件。
我找到解决方案的方法是逐行编写,并针对每一行测试包含的内容和不包含的内容。似乎 /
可用于当前目录(或 ~
)。也许有一个解释。
我很欣赏帮助我理解 .gitignore
处理的两个建议。
我有一个 gitignore
*
!.*
我希望看到 .*
的所有子目录,但实际上 git 只看到子目录再次以 .
开头的子目录。例如,我看到 .java/.userPrerfs/.user.lock..
,因为两个子目录都以 .
开头,但我没有看到 .conf/ario
或 .java/fonts/
.
如何限制排除*
只适用于顶级?
您想要包含与 .gitignore
文件处于同一级别的路径
!./.*
!.*
因为你没有 "map" 目录它不适合你。
.
代表当前目录,因此您只忽略指定目录中的文件。
使用这个:
*
!**/.*
我做了进一步的实验,发现对于更复杂的需求,
/*
!/.*
/.*/*
!/.config/*
/.config/*/*
!/.config/*/*.conf
可以让我在 .config
目录中找到 .conf
文件。
我找到解决方案的方法是逐行编写,并针对每一行测试包含的内容和不包含的内容。似乎 /
可用于当前目录(或 ~
)。也许有一个解释。
我很欣赏帮助我理解 .gitignore
处理的两个建议。