Я ищу несколько направлений для правильной настройки Git для среды производства / разработки для проекта PHP. Я пытаюсь создать его, и я как бы застрял в том, как это сделать правильно, даже после нескольких дней поиска ответа.
У меня есть:
- IDE (NetBeans)
- Производственный сервер
- Субдомен на том же сервере, который я хотел бы использовать в целях разработки. Я знаю, что это может быть не лучшее решение, но, по крайней мере, пока оно может работать, позже я планирую переместить его на другой сервер.
На сервере установлен Git, так же, как на моем клиентском компьютере. У меня есть две ветви - dev и production. План состоял в том, чтобы протестировать все в ветке dev, затем объединить ветви и развернуть их в производство.
Однако я нигде не могу найти, как правильно использовать Git в этой настройке. Я помещаю ветку в хранилище на сервере, затем собираюсь развернуть файлы в определенной папке, в зависимости от ветви (dev или prod).
Я выполняю это:
git clone --shared --branch dev myproject.git /var/www/vhosts/dev.mydomain.com/httpdocs/
rm -rf /var/www/vhosts/dev.mydomain.com/httpdocs/.git
Впервые работает, когда папка пуста, но git не позволяет клонировать папку, когда в ней уже есть файлы. Конечно, я могу удалить все из папки, но это кажется неправильным, особенно на рабочем сервере.
Итак, главный вопрос - как мне обновить только файлы, которые были изменены, не касаясь остальных? Или, может быть, я все делаю неправильно, и это должно работать совершенно иначе? Я прочитал руководство по git и множество других веб-сайтов, посвященных git, но либо я слишком глуп, либо нет ответа на этот вопрос.