Оптимальный рабочий процесс для стека серверов локального/промежуточного уровня/производства + Git

Я хочу включить рабочий процесс веб-разработки, который позволяет мне сделать следующее:

  • Разработка/тестирование локально
    • имитирует производственный сервер (многие поддомены, несколько баз данных mysql)
    • синхронизируется между настольным компьютером и ноутбуком, чтобы разрешить разработку на ходу.
  • легко нажать локальный → этап
  • легко продвигаться вперед → производство
  • легко жить-редактировать на производственном сервере (иногда нужно для очень незначительных обновлений контента, изменений опечаток и т.д. Сейчас я трачу много времени на небольшие изменения, подталкивая его к постановке, а затем подталкивая к производству, которое занимает некоторое время для незначительных вещей.)

Я также новичок в Git. Я начал тестировать воды с помощью Git в моих личных проектах, однако проект, который я унаследовал (с производственными/промежуточными средами), до сих пор не использовал никакого контроля версий.

Вопросы:

  • Как я могу легко адаптировать большой установленный проект к локальной среде (XAMPP)?
  • Как я могу синхронизировать свою локальную среду между dev-laptop и dev-desktop?
  • Стоит ли Github этого типа предустановленной настройки проекта/сервера? Похоже, что он добавляет намного больше шагов (например: local- > push to Git repo → загрузка репо на промежуточный сервер → сервер промежуточного уровня на сервере). Также я обеспокоен сохранением конфиденциальности/безопасности.

По сути, я единственный разработчик, которому был предоставлен довольно большой проект, и я просто хочу попробовать и сделать все как можно проще и проще на себе.:)

Ответы

Ответ 1

Филиалы - один из способов облегчить этот рабочий процесс. Существует отличный пост в блоге о том, как использовать ветки Git для управления типичным рабочим процессом разработки.

У вас тогда будет одна ветвь для производства (например, master), одна для живого редактирования, которая соответствует ветке hotfix в вышеприведенной записи, а другая для разработки.

Чтобы синхронизировать локальные среды на ноутбуке и на рабочем столе, вы можете использовать вышеупомянутую ветвь development также как удаленную ветвь и обеими устройствами нажимать свои локальные коммиты на эту ветку в удаленный репозиторий.