我有2个.gitignore
个文件。
一个放在我的主目录(~
)中,一个放在~/bin
中。
repo已知~/bin/.gitignore
文件,但如果我添加文件并提交,git就无法在bin目录中找到其他文件。
他们的内容是:
$ cat ~/.gitignore`
*
!.gitignore
!LICENSE
!bin/
!.zsh/*
!.zshrc
$ cat ~/bin/.gitignore
composer
答案 0 :(得分:2)
~/.gitignore
文件将应用于~/
~/bin/.gitignore
文件将应用于~/bin/
由于~/bin
与~/bin/
下的和~/
下的匹配,所以.gitignore
个文件都适用(两个配置堆叠在一起)。
由于您的(顶级)~/.gitignore
文件包含通配符匹配*
,这意味着~/bin
中的所有文件将被忽略,除非排除(比如匹配~/bin/.gitignore
)的.gitignore
如果您真正想要的是不要忽略 ~/bin
中的所有文件((本地)~/bin/.gitignore
中列出的文件除外),您必须 unignore 他们首先:
$ cat ~/bin/.gitignore
# override wildcard match from parent gitignore
!*
# but ignore the composer file
composer
$