git add / commit удаление, а не просто игнорирование .gitignore игнорируемого файла - PullRequest
1 голос
/ 02 апреля 2012

Я попробовал то, что было предложено в предыдущем вопросе Stackoverflow о том, как игнорировать файлы: Игнорировать файлы, которые уже были переданы в репозиторий Git

что было предложено:

git rm -r --cached .

команда, которую я использую:

git rm -r --cached application/config/config.php
//i only want to ignore this one file

К сожалению, когда я выполняю git add., а затем git commit, мой config.php удаляется из хранилища, а не просто игнорируется.

У меня есть файл .gitignore в моем корневом каталоге, и он содержит следующий элемент списка:

application/config/config.php

Может кто-нибудь помочь мне понять, почему этот файл config.php удаляется и просто не игнорируется?

вот что показывает мой git-статус:

$ git status
# On branch master
# 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:   .gitignore
#   modified:   application/config/config.php
#
no changes added to commit (use "git add" and/or "git commit -a")

спасибо,

тим

1 Ответ

3 голосов
/ 02 апреля 2012

Он удаляется из хранилища, потому что вы удалили его.git rm - удалить файл, а --cached хранит его в рабочем каталоге.

Вы можете сделать git update-index --assume-unchanged <filename>, если хотите, чтобы он просто никогда не замечал изменения в файле, а оставляетстарая версия в вашем хранилище.Дальнейшее чтение здесь: http://gitready.com/intermediate/2009/02/18/temporarily-ignoring-files.html

...