Gitignore不忽略配置文件



我已经读过这个问题以及这个问题,但它们似乎对我不起作用。

我有一个git项目,目录结构如下:

myapp/
    src/
    .gitignore
    build/

其中myapp/.gitignore为:

### gitignore ###
build/

我现在需要添加一个顶级config目录,并希望将配置文件添加到它用于本地开发/测试目的,但不希望它们提交。我只希望提交("空")config目录。所以我读了上面的两个问题,并尝试执行他们的建议。现在我的项目看起来像:

myapp/
    src/
    .gitignore
    build/
    config/
        .gitignore
        test.json

其中myapp/.gitignore为:

### gitignore ###
build/
!config/.gitignore

其中config/.gitignore只是:

!.gitignore

然而,当我做git add . -n(演习)时,我看到:

add '.gitignore'
add 'config/.gitignore'
add 'config/test.json'

…所以看起来它会尝试添加我的test.json配置文件。我只想让它添加config目录,这样命令就会输出:

add '.gitignore'
add 'config/.gitignore'

有什么想法我走错了(为什么)?

config/.gitignore应包含:

*
!.gitignore

也就是说,"忽略除 .gitignore以外的所有内容。"

!.gitignore

只是说"不要忽略.gitignore",但它并没有说任何其他应该被忽略。

(在根.gitignore文件中也不需要!config/.gitignore)

最新更新