r00t_aka_spin
@r00t_aka_spin
рубист-сатанист

.gitignore и отслеживаемые файлы

Так вышло что в репозитории хранится конфиг сайта и если в него вносятся какие-то изменения (например добавление роутов), то у других программистов перестает работать локальная версия сайта так как параметры подключения к БД у всех разные.

Как решение попытался добавить его в .gitignore, но при коммите всеравно конфиг выводится в списке модицифированных файлов. Возможно ли как-то запретить отслеживать изменения в конфиге без его удаления из репозитория?
  • Вопрос задан
  • 29134 просмотра
Решения вопроса 1
akira
@akira
Временно игнорировать изменения в файле можно командой: git update-index --assume-unchanged <file>
Отключается командой: git update-index --no-assume-unchanged <file>
Ответ написан
Пригласить эксперта
Ответы на вопрос 5
colonel
@colonel
Разработчик PHP, Laravel
Нужно убрать его из индекса:

git rm --cached path/to/file
Ответ написан
Комментировать
@nick4fake
Просто он уже в репозитарии. сделайте git rm, и он больше не будет обновляться.
Ответ написан
Комментировать
Monnoroch
@Monnoroch
Должно быть вы ошиблись при добавлении в .gitignore, иначе в списке модифицированных файлов он не появлялся. Если вы покажете, как вы это сделали, возможно, вам смогут тут помочь.
Ответ написан
@DorBer
У нас в проекте несколько уровней наследуемых конфигов. Те из них, что используются у каждого разработчика, имеют префикс local. Эти файлы добавлены в .gitignore. Темплейты для локальных конфигов хранятся в репозитории с расширением sample. Те же локальные конфиги удобны на стейджинге.
Ответ написан
Комментировать
winbackgo
@winbackgo
Можно сделать файл congig.local.php добавить его в .gitignore а внизу inc.config.php написать что-то типа
 if (is_file($local_config = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'congig.local.php'))
     include $local_config;

Это не совсем ответ на вопрос (он уже был), но по опыту знаю, что так намного удобнее менять конфиги, особенно если сайт на нескольких серверах.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы