2012-04-26 3 views
2

У меня есть проект git, над которым я работаю локально. Это проект PHP с конфигурационным файлом, в котором хранится информация о подключении базы данных MySQL. Мои локальные настройки MySQL отличаются от удаленных настроек.Git - Исключить конфигурационный файл после получения ответа

На моем пульте, у меня после приема крюком, который будет Извлекает файлы в папку на сервере:

#!/bin/sh 
GIT_WORK_TREE="../demo" git checkout -f 
chmod +x hooks/post-receive 

Как я могу сказать, эту проверку, чтобы не включать (перезаписывать файл конфигурации), так как он заменит удаленный файл конфигурации моим локальным? Я попытался добавить свой локальный файл конфигурации в .gitignore, но это, похоже, не сделало этого.

Любая идея, как исключить файл конфигурации из проверки?

ответ

2

Правильное решение не обязывает ваше config.php (или как бы то ни было его название), а скорее помещает его в .gitignore и вместо этого принимает config.php.example.

Итак, просто удалите конфигурационный файл из репозитория, переименуйте его на удаленную машину, потяните так, чтобы у вас была последняя фиксация (которая удалила бы файл), а затем вернет ее.

+1

I думал, что я уже это сделал, но получается Я не сделал это правильно. Благодаря! – matt

0

Вы можете попробовать это

Запуск команды:

git rm -r --cached . 

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

git add . 

коммита:

git commit -m ".gitignore is now working" 
Смежные вопросы