关于git:gitignore不会忽略配置文件

gitignore not ignoring config files

我已经读过这个问题,也读过这个问题,但它们似乎不适合我。

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

1
2
3
4
myapp/
    src/
    .gitignore
    build/

其中myapp/.gitignore为:

1
2
### gitignore ###
build/

我现在需要添加一个顶级的config目录,并希望为本地开发/测试目的向其中添加配置文件,但不希望提交这些文件。我只想提交(空的)config目录。所以我阅读了上面的两个问题,并尝试执行他们的建议。现在我的项目看起来是:

1
2
3
4
5
6
7
myapp/
    src/
    .gitignore
    build/
    config/
        .gitignore
        test.json

其中,myapp/.gitignore是:

1
2
3
### gitignore ###
build/
!config/.gitignore

如果config/.gitignore是公正的:

1
!.gitignore

但是,当我进行git add . -n干运行时,我看到:

1
2
3
add '.gitignore'
add 'config/.gitignore'
add 'config/test.json'

…所以看起来它会尝试无论如何添加我的test.json配置文件。我只希望它添加config目录,以便命令输出:

1
2
add '.gitignore'
add 'config/.gitignore'

你知道我要去哪里(为什么)吗?


config/.gitignore应该包含:

1
2
*
!.gitignore

"这是你的一切,但这.gitignore:。。。。。。。"

1
!.gitignore

只是说,"Don’t .gitignore忽略",但它不是任何人应该ignored说。

你也不需要在根!config/.gitignore.gitignore文件)。