2013-03-14 181 views
2

我一直认为我知道如何忽略和否定模式,但我很难过。我有一个基准的Drupal安装,我想忽略sites/文件夹中的所有内容,除了一些特定的子目录:sites/allsites/my-project忽略目录...但不是子目录或两个

.vagrant 
settings.php 

# A directory set aside for user contributed assets 
uploads/ 

# All we care about is sites/all and sites/my-project 
www/sites/* 
!www/sites/all 
!www/sites/my-project 

鉴于上述.gitignore文件在项目的根,当我做了git add .,我从www/sites/my-project一切我从www/sites/all想到,却什么都没有。我在这里错过了什么?目前只有一个我关心的文件(www/sites/my-project/settings.sample.php),但我无法弄清楚它为什么不像其他所有文件一样添加。

我知道我可以强制它,但我想了解更大的问题。我在这里错过了什么?无论它值什么,这都是我最初的承诺。我不以任何方式重要,但我也不知道它没有。

UPDATE

哎呦!看起来像我关心的的一个文件是被忽略(这可以解释为什么该目录被忽略)。我不知道在哪里,为什么,但它给了我地方看看......

回答

0

我不明白一个问题:

$ find . 
. 
./.gitignore 
./www 
./www/sites 
./www/sites/ignored 
./www/sites/ignored/file 
./www/sites/my-project 
./www/sites/my-project/file 
./www/sites/my-project/settings.sample.php 
./www/sites/all 
./www/sites/all/file 
$ git init 
Initialized empty Git repository in /home/desert69/tmp/gitignore/.git/ 
$ cat .gitignore 
.vagrant 
settings.php 

# A directory set aside for user contributed assets 
uploads/ 

# All we care about is sites/all and sites/my-project 
www/sites/* 
!www/sites/all 
!www/sites/my-project 
$ git add . 
$ git status --short 
A .gitignore 
A www/sites/all/file 
A www/sites/my-project/file 
A www/sites/my-project/settings.sample.php 
$ git --version 
git version 1.7.10.4 

所以一切都似乎是工作。

试着做一个rm -rf .git/ && git init以防万一您以前忽略或添加任何其他文件。

我想也许有什么与settings.php点被解释为*所以它匹配.sample.,但似乎并没有。

尝试删除并重新编辑存储库。

+1

所以事实证明,Drupal有它自己的'.gitignore',我不知道(我不是一个Drupal开发者)。找到它,打开它并看到'sites/*/settings * .php'。 ** le叹气 – 2013-03-14 18:03:33

+0

@RobWilkerson但是,那是'.gitignore'?你是如何得到你发布的'.gitignore'的?很高兴看到它的工作,无论如何:) – mgarciaisaia 2013-03-14 18:05:55