Правильный способ развертывания из Git. (Локальный -> Удаленный Git -> Живой сервер)

Поэтому я программирую, используя фреймворк CodeIgniter. Мне было интересно, как лучше всего выполнить развертывание на реальном сервере.

Мой вопрос связан с .gitignore по умолчанию.

Если я добавлю и зафиксирую файлы в своем репозитории Git (который я затем буду использовать для извлечения, а затем на мой работающий веб-сервер в Cloudways), проблема заключается в том, что не все файлы будут добавлены в репозиторий git, и, следовательно, не все файлы будут скопированы на веб-сервер в Cloudways. Каков правильный механизм для копирования всех файлов на рабочий сервер?

Нужно ли удалять .gitignore, а затем передавать ВСЕ файлы в удаленный репозиторий, чтобы изначально Cloudways могла извлечь все файлы? А затем скопируйте файл .gitignore обратно на мой локальный компьютер, а затем добавьте и зафиксируйте его, чтобы ненужные файлы не проходили и игнорировались в будущих коммитах git?

Я весьма озадачен. Раньше я обходил Git и просто редактировал файлы прямо на веб-сайте. Но теперь я чувствую, что мне нужно пойти правильным путем и использовать репозитории Git для своих будущих проектов.

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


person radiantMemory    schedule 13.01.2017    source источник


Ответы (1)


Git — это инструмент контроля версий, а не инструмент развертывания. Люди придумали обходные пути и фреймворки, чтобы использовать Git для развертывания, но это не одна из функций Git как таковая.

Вы можете добавить файлы из .gitignore, просто используя git add -f ..., но это, скорее всего, не то, что вам нужно. Также .gitignore затрагивает только неотслеживаемые файлы. Как только вы добавили файл в Git, его изменения будут отслеживаться, независимо от того, находится он в .gitignore или нет.

Если файлы находятся в .gitignore, у вас определенно была причина поместить их туда, например, это файлы конфигурации, которые должны быть разными на рабочем сервере и в вашей локальной среде. Просто создайте эти файлы на действующем сервере с соответствующими настройками вручную.

person Vampire    schedule 13.01.2017
comment
Ах я вижу. Итак, чтобы развернуть веб-сайт, просто загрузите все файлы на сервер, настройте базу данных/информацию о конфигурации сервера, а затем настройте gitignore для будущих изменений версии? Каков типичный «рабочий процесс» для таких вещей? Спасибо - person radiantMemory; 14.01.2017