2016-06-07 2 views
1

Я сейчас боюсь, и я не знаю, как это сделать. Мы недавно переключились с SVN на GIT. Всякий раз, когда мы создаем веб-сайт, мы хотим, чтобы он находился под контролем версий.Использование GIT на живых серверах

В этом случае на всех наших клиентских веб-пространствах GIT изначально уже установлен. Идея состоит в том, чтобы развиваться локально, развивать сайт дальше и после завершения запроса на изменение, «публиковать» это на реальном сервере.

В этом случае мы установили наш собственный gitlab -nstance, где код развернут. Теперь все в порядке.

Из соображений безопасности я прочитал, что вы не должны добавлять конфигурационные файлы в элемент управления версиями. В моем примере давайте позвоним файлу config.php. Поэтому я добавил это имя файла в мой .gitignore и работает так, как ожидалось. Однако, , если вы хотите, чтобы другие разрабатывали и в проекте, как вы справляетесь с этим? Напишите в файле README о том, как настроить config.local.php и включить этот файл в свой основной файл конфигурации?

Дальше: Есть определенные файлы и папки, которые необходимы, чтобы быть там, хотя они могут быть пустыми. Например, у нас есть «temp» -папка. Мне нужна папка, чтобы быть там, но контент не имеет значения. Я пытался добавить эту строку в .gitignore, но это не сработало:

/temp/* 

Из моего понимания, что нужно просто исключить файлы в папку, а не саму папку, верно?

Снова и это мой последний вопрос: если по какой-то причине клиент/владелец изменяет материал в своих CSS-файлах, вы не синхронизированы, верно? Вы не можете просто вытащить/извлечь недавно проверенные файлы без проблем (если вы также отредактировали свой css-файл), так как они попадут в конфликт. Каков путь туда? Я читал о полной синхронизации раньше, но это не защищает меня от повторного попадания в ту же ситуацию, верно?

Если это неправильная пластина, пожалуйста, сообщите мне. Благодаря

ответ

2

Вопрос 1: Если вы хотите пустой каталог в репозитории (темп, журнал) вы MUST разместить файл там, который вы добавляете в репозиторий. Git не отслеживает каталоги, только файлы.

В каждой папке может быть пусто .gitkeep. Но имя не имеет значения. Вы также можете использовать .gitignore в каждой пустой папке.

Вопрос 2: Нет ничего плохого в том, что у вас есть файлы конфигурации в вашем репозитории. Вы просто должны быть осторожны в секретах. Пароли для доступа к базе данных должны быть секретными, конечно, но в зависимости от вашей ситуации, так же могут быть и адреса служб.

Если вы используете GitLab CI для развертывания, вы можете прочитать конфигурацию из переменных среды и установить их в GitLab (Project -> Settings -> Variables). Эти переменные не являются общедоступными.

Вопрос 3: У клиента может быть специальная ветка, которую он должен переустанавливать при каждом обновлении проекта. Вы можете реализовать пользовательские файлы css в своем проекте, то есть загрузить пользовательский файл css через страницу config/admin.

Смежные вопросы