2.git忽略文件,但文件可以';找不到

2.git忽略文件,但文件可以';找不到,git,Git,我有2个.gitignore文件。 一个放在我的主目录(~)中,一个放在~/bin中。 repo知道~/bin/.gitignore文件,但是如果我添加该文件并提交,git在bin目录中找不到其他文件 内容包括: $ cat ~/.gitignore` * !.gitignore !LICENSE !bin/ !.zsh/* !.zshrc $ cat ~/bin/.gitignore composer ~/.gitignore文件将应用于~/ ~/bin/.gitignore文件将应用于~

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

内容包括:

$ cat ~/.gitignore`
*
!.gitignore
!LICENSE
!bin/
!.zsh/*
!.zshrc
$ cat ~/bin/.gitignore
composer
  • ~/.gitignore
    文件将应用于
    ~/
  • ~/bin/.gitignore
    文件将应用于
    ~/bin/
    下的所有文件
由于
~/bin
~/bin/
~/
下都匹配,因此
.gitignore
文件都适用(两个配置相互堆叠)

由于您的(顶级)
~/.gitignore
文件包含一个通配符匹配项
*
,这意味着
~/bin
中的所有文件都将被忽略,除非排除在外(如与
.gitignore
匹配的
.gitignore

如果您真正想要的是不忽略
~/bin
中的所有文件(除了(本地)
~/bin/.gitignore
中列出的文件),则必须首先取消忽略它们:

$ cat ~/bin/.gitignore
# override wildcard match from parent gitignore
!*
# but ignore the composer file
composer
$
你说的“文件”是什么意思<代码>~/.gitignore?