Правильный способ развертывания из 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 у вас наверняка была причина поместить их туда, например, файлы конфигурации, которые должны отличаться на живом сервере и в вашей локальной среде. Просто создайте эти файлы на реальном сервере с соответствующими настройками вручную.

Другие вопросы по тегам