2 .gitignore文件但无法找到文件

时间:2015-10-31 21:14:26

标签: git

我有2个.gitignore个文件。 一个放在我的主目录(~)中,一个放在~/bin中。 repo已知~/bin/.gitignore文件,但如果我添加文件并提交,git就无法在bin目录中找到其他文件。

他们的内容是:

$ cat ~/.gitignore`
*
!.gitignore
!LICENSE
!bin/
!.zsh/*
!.zshrc
$ cat ~/bin/.gitignore
composer

1 个答案:

答案 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
$