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文件,当我执行 a 时git add .,我得到了我所期望的一切www/sites/all,但没有从www/sites/my-project. 我在这里想念什么?我现在只关心一个文件 ( www/sites/my-project/settings.sample.php),但我不明白为什么它没有像其他所有文件一样添加。

我知道我可以强迫它,但我想了解更大的问题。我在这里想念什么?不管它值多少钱,这是我最初的承诺。我不认为它有任何关系,但我也不知道它不重要。

更新

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

4

1 回答 1

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以防万一您之前忽略或添加了任何其他文件。

我想也许 dot 有任何东西settings.php被解释为 an*所以它匹配.sample.,但似乎没有。

尝试删除并重新init生成存储库。

于 2013-03-14T18:00:01.787 回答