Правильный способ развертывания из Git. (Локальный -> Удаленный Git -> Живой сервер)
Поэтому я программирую с использованием инфраструктуры CodeIgniter. Мне было интересно, как лучше развернуть развертывание на живом сервере.
Мой вопрос проистекает из стандартного.gitignore.
Если я добавлю и зафиксирую файлы в моем Git Repo (который затем буду использовать для извлечения с моего живого веб-сервера на Cloudways, а затем на него), проблема заключается в том, что не все файлы будут добавлены в репозиторий git и, следовательно, не будут все файлы будут скопированы на веб-сервер Cloudways. Какой правильный механизм для копирования всех файлов на живой сервер?
Должен ли я удалить.gitignore, а затем зафиксировать ВСЕ файлы в удаленном хранилище, чтобы Cloudways мог сначала извлечь все файлы? А затем скопируйте файл.gitignore обратно на мой локальный компьютер, а затем добавьте и зафиксируйте его там, чтобы ненужные файлы не проходили и игнорировались в будущих коммитах git?
Я весьма озадачен. Прежде, чем я обошел Git и просто отредактировал файлы, живые на сайте. Но теперь я чувствую, что мне нужно выбрать правильный путь и использовать репозитории Git для моих будущих проектов.
Кроме того, как правильно разрабатывать локально, а затем отправлять файлы на работающий сервер? Разве мне не придется постоянно менять базу данных и конфигурационные файлы перед каждым коммитом / push из конфигурации localhost в конфигурацию живого сервера? Я так растерялся, помогите пожалуйста...
1 ответ
Git - это инструмент контроля версий, а не инструмент развертывания. Люди изобрели обходные пути и структуры, хотя и использовали Git для развертывания, но это не одна из функций Git как таковых.
Вы можете добавить файлы, которые находятся в .gitignore
просто с помощью git add -f ...
, но это, скорее всего, не то, что вы хотите. Также .gitignore
влияет только на неотслеживаемые файлы. Как только вы добавили файл в Git, его изменения будут отслеживаться, независимо от того, находится ли он в .gitignore
или нет.
Если файлы находятся в .gitignore
у вас наверняка была причина поместить их туда, например, файлы конфигурации, которые должны отличаться на живом сервере и в вашей локальной среде. Просто создайте эти файлы на реальном сервере с соответствующими настройками вручную.