Подтвердить что ты не робот

Git.ignore не работает в каталоге

У меня есть следующий .gitignore файл

# file named .gitignore

system/application/config/database.php
system/application/config/config.php
system/logs
modules/recaptcha/config/*

Однако, когда я добавляю какие-либо изменения в config и recapcha.php, статус git предупреждает меня о следующем. Когда я добавляю какие-либо изменения в database.php. он не показывает его в статусе

[email protected]:/var/www/myapp$ git status
# On branch master
# Your branch is ahead of 'origin/master' by 1 commit.
#
# Changes not staged for commit:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#   modified:   modules/recaptcha/config/recaptcha.php
#   modified:   system/application/config/config.php
#
no changes added to commit (use "git add" and/or "git commit -a")

Как я могу это исправить?

Спасибо заранее.

Я использую git версию 1.7.5.1 на Ubuntu 11.04

4b9b3361

Ответ 1

Файлы уже хранятся в локальном дереве компиляции. Вам нужно удалить их из репозитория, это можно сделать с помощью git rm --cached system/application/config/config.php modules/recaptcha/config/recaptcha.php, после чего вам нужно сделать еще одну фиксацию и ваше преимущество.

Ответ 2

Если ваш файл уже находится в git, прежде чем добавить каталог в .gitignore git, он будет отслеживать его. Если вы этого не хотите, сделайте "git rm", чтобы сначала удалить его.

Ответ 3

Я предполагаю, что yout .gitignore не находится в корне вашего рабочего дерева.

Если вы поместите .gitignore в тот же каталог, что и system/application/config/config.php, вы можете просто использовать

echo config.php >> system/application/config/.gitignore

Пути относятся к текущему каталогу (или: .gitignore - файл исключения/включения для каждого каталога).

Смотрите man git -ignore