"Правильный" способ вытащить производственную ветвь git "на производственный сервер" - программирование

"Правильный" способ вытащить производственную ветвь git "на производственный сервер"

Я новичок в Git и прочитал книгу Pro Git @http://git-scm.com/book/en/Git-Branching-Basic-Branching-and-Merging. Мой вопрос заключается в том, что то, что я делаю сегодня, является предпочтительным способом работы с производственным сервером и удаленным репозиторией Git.

У меня есть мое репо, размещенное на GitHub, с использованием трех удаленных веток: development → testing → master.

Всякий раз, когда ветвь тестирования тестируется, чтобы работать, я git merge 'master' с локальным тестированием (быстрая перемотка вперед?) и git push 'master' в GitHub.

На рабочем сервере (/opt/www/url.com/) я сделал:

git init
git remote add origin https://github.com/.....
git pull origin master

Теперь каждый раз, когда я хочу обновить мастер, я выдаю git pull

git pull origin master

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

Изменить # 1: я не хочу управлять конфликтами на рабочем сервере, с которыми я сейчас сталкиваюсь (как-то я сделал что-то не так). Я просто хочу вытащить последнюю обновленную ветвь мастера и переключиться на нее.

4b9b3361

Ответ 1

Вы должны использовать:

git init --bare

Для инициализации репо, в котором не будет рабочего дерева, что означает, что конфликтов не будет.