2016-11-03 140 views
0

我已经阅读this question以及this one但他们似乎并没有为我工作。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' 

任何想法,我要去哪里出错(为什么)?

回答

2

config/.gitignore应包含以下内容:

* 
!.gitignore 

也就是说, “不顾一切.gitignore。”这:

!.gitignore 

只是说“不要忽视.gitignore”,但它并没有说别的任何东西应该被忽略。

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