Ответ на ваш вопрос: вы не можете.
Если конфигурационный файл уже отслеживаются мерзавца, вы не можете игнорировать его только локально (поэтому клонированный хранилище является clone
: это действительно точно такой же содержание)
Существует 3 варианта:
Вы можете удалить файл из git (git rm exampledirectory/config.php --cached && git commit && git push
), но тогда вам будет необходимо подключиться к удаленному серверу и восстановить его (всего один раз). Теперь, если вы хотите изменить конфигурацию производства, вам нужно будет войти в систему удаленно.
В качестве альтернативы вы можете переименовать файл в config-default.php и, в конечном итоге, добавить один крюк после обновления (и/или другие, локально или удаленно в зависимости от ваших потребностей), чтобы скопировать этот файл в config.php if обнаружено изменение.
* в другой альтернативы (и я использую подобное решение) требует некоторого развития, чтобы изменить путь ваш конфигурационный файл включен, на основе которой окружающая среда вы в настоящее время (производство, развитие или другой), например, если вы добавляете в вашем виртуальном хосте setEnv CUSTOM_ENV develop
, вы можете использовать следующий код:
if (isset($_SERVER['CUSTOM_ENV']))
{
$config = __DIR__.'/exampledirectory/'.$_SERVER['CUSTOM_ENV'].'/config.php';
if (!file_exists($config))
$config = false;
}
if (!$path)
{
$config = __DIR__.'/exampledirectory/config.php';
}
require_once($config);
вы можете также базировать определение среды на файл настоящего где-то в вашем диске (пустой файл с именем .debug.inc
, ваш IP (127,0. 0.1, если localhost) значение cookie, которое вы установили или что угодно.
В этом примере путь exampledirectory/develop
, вероятно, будет находиться в .gitignore, поэтому все разработчики могут самостоятельно настроить свою конфигурацию без каких-либо проблем. И вы можете позже добавить больше среды (preprod, test, ...) и иметь другую конфигурацию в соответствии с тем, что вы хотите проверить.
Кроме того, если в дальнейшем у вас есть развертывание более чем на 2 сервера, вы можете иметь (немного) более сложную систему конфигурации, используя вид иерархического стиля:
Во-первых, загрузки по умолчанию (общий) config somedir/config.php
Во-вторых, проверьте, существует ли дополнительный файл конфигурации для текущего env (somedir/[ENV]/config.php
), и если есть, включите его тоже.
Таким образом, это не проблема, если ваш файл конфигурации возвращает массив параметров, но вы можете иметь некоторые проблемы, если ваш файл конфигурации содержит константы (что в любом случае является плохой практикой :)).
Обратите внимание, что если вы добавили путь к файлу, уже отслеживаемому в вашем .gitignore, это не повлияет (файл все равно будет находиться в git, а изменения будут по-прежнему отслеживаться до удаления). – Asenar