Подтвердить что ты не робот

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 в этом случае?

4b9b3361

Ответ 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.