子目录在.gitignore白名单中被忽略

use*_*841 3 git

我正在为我的Linux主目录创建一个git存储库.除了我白名单的文件/目录之外,我想忽略大多数事情.我有这个:

# Ignore everything
*
# But not these files...
!.gitignore
!*/scripts/*
# the above line doesn't work, so this is a test:
!./scripts/*
Run Code Online (Sandbox Code Playgroud)

但它忽略了我添加到scripts/子目录中的文件.我一直在添加东西-f,这是次优的.

这个问题的答案,Git不会取消忽略目录,对我不起作用.

Git版本2.1.4.

mea*_*gar 6

来自文档:

如果排除该文件的父目录,则无法重新包含文件

你需要明确取消忽略这两个目录它的内容,否则否定的忽略规则的内容无法比拟的东西.首先,unignore scripts,然后你可以unignore scripts/*.

这是工作的.gitignore:

*
!.gitignore
!scripts
!scripts/*
Run Code Online (Sandbox Code Playgroud)

也就是说,因为你是独一无二的*,所以你可以通过一条规则逃脱,这会使路径失去信心scripts.第二个scripts/*是多余的.