2013-03-14 55 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