Git рабочий процесс создания/промежуточного сервера
В настоящее время мой сайт (производственный сервер) уже имеет много кода.
И теперь я хочу начать использовать Git для моих проектов и настроить промежуточный сервер для своей команды.
Кто-нибудь может мне посоветоваться?
Вот моя фотография:
Production - Production server which already have codes
↑
Staging - New staging server, will install Trac too
↗↙ ↖↘
Developer1 Developer2 - Local development
Мой вопрос: как мне начать?
Вот несколько шагов в моей голове:
- сделать
git init
на рабочем сервере (это безопасно?)
-
clone
репо от производства до промежуточного сервера
- разработчики
clone
репо из этапа на локальную машину
-
push
на промежуточном сервере после завершения изменения
- когда подготовка готова,
push
все к производству
Имеет ли смысл этот поток работы, или есть лучший способ сделать это?
Что делать, если я хочу изменить только один файл?
Имеет ли происхождение/мастер какое-либо отношение к нему в этом процессе?
Кто является источником? я собираюсь в конечном итоге иметь несколько истоков?
Кроме того, когда разработчик должен использовать branch
в этом случае?
Ответы
Ответ 1
Лучше использовать мастер-ветвь только для раздела "Производство и развитие" для Staging. Каждый разработчик должен создать локальную ветвь, чтобы добавить новые функции, а затем объединиться с веткой разработки. Если вы новичок в git, попробуйте использовать - http://github.com/nvie/gitflow Существует также хорошая картина, описывающая ветвящуюся модель git - http://nvie.com/posts/a-successful-git-branching-model/
Ответ 2
Ваше предложение выглядит нормально, но я бы не позволял разработчикам напрямую обращаться к промежуточному серверу. Вместо этого интегратор должен тщательно проанализировать ветки и включить их в основную ветвь (или ветвь развития, если вы используете модель потока git, как это предложено bUg.) *
Тот же человек будет нажимать на промежуточный сервер.
* Интегратор: Довольно центральный человек, выступающий в качестве интегратора в групповом проекте, получает изменения, сделанные другими, рассматривает и интегрирует их и публикует результат для других пользователей... "
1. выполните git init на рабочем сервере (это безопасно?)
Да, это безопасно, но вы, конечно, должны устанавливать очень ограничительные разрешения для этого репо.
Вероятно, я начну с curl
всего веб-сайта на локальный диск, если у меня его еще нет.
2. клонировать репо от производства до промежуточного сервера
Вероятно, у вас должно быть "центральное" репо отдельно от производства и промежуточного сервера. Это можно клонировать и подталкивать по мере необходимости.
3. разработчики клонируют репо от этапа к локальной машине
4. нажимать файлы на промежуточном сервере после завершения изменения
5. когда постановка готова, нажмите все на производство
Замените "staging" на "central", и я думаю, что вы в порядке, но большая проблема заключается в том, как вы будете работать с ветвями и слиянием, как указывает bUg.