Как использовать Github с моделью общего хранилища и Aptana? - PullRequest
1 голос
/ 26 сентября 2011

У нас небольшая команда разработчиков, все работают в одной комнате. Мы настраиваем Github для управления рядом средних и крупных проектов. Мы все новички в Github, но хотим использовать его, поскольку наши проекты основаны на программном обеспечении с открытым исходным кодом, размещенном на Github.

В нашей ситуации «модель общего репозитория» выглядит идеально - там, где каждый разработчик имеет полные привилегии Git.

Мы хотели бы использовать следующий процесс:

  1. Каждый разработчик работает со своей версией проекта, используя Aptana в качестве IDE.
  2. Каждый разработчик регулярно получает обновления и выполняет репо
  3. Мы регулярно обновляем демо-версию проекта из репозитория, чтобы показать его заинтересованным сторонам.

Все это довольно стандартные вещи, но мы изо всех сил пытаемся найти некоторую ясную документацию или "как это сделать" для настройки этого. Документация Github, похоже, предназначена для совместной работы с открытым исходным кодом.

Возможно, мы не до конца понимаем терминологию Git, мы пришли из Subversion и один разработчик использовал Mercurial.

Может кто-нибудь предложить какую-нибудь понятную документацию или инструкции по настройке этого типа.

Заранее спасибо.

1 Ответ

3 голосов
/ 23 мая 2012

Во-первых, создайте несколько веток в своем репо, например:

  • master - это тот, который представляет ваш текущий выпуск
  • development - это тот, который содержит последние завершенные задачи разработчика (т.е.пользовательские истории)

Когда разработчик начинает работать над новой пользовательской историей, он создает новую ветку из разработки, используя:

git fetch
git checkout develop
(git pull origin develop) <-- only if you are not yet on head of develop
git checkout -b new-feature-branch

Теперь разработчик работает только над этой веткой функций,После завершения своей работы он создает запрос на извлечение из своей функциональной ветви для разработки.Другие разработчики взглянут на него на GitHub, просмотрите его изменения.Если требуется доработка, разработчик продолжает вносить изменения в свою ветвь функций, поскольку запрос на получение обновлений будет обновляться вместе с ним.Если все в порядке, запрос на извлечение объединяется с разработкой.

Время от времени вы объединяете свои изменения от разработки к основному, снова используя запросы на извлечение.Если у вас нет хорошего покрытия тестами и непрерывной интеграции, вам может потребоваться дополнительная ветвь между master и development, чтобы сначала стабилизировать ваш код.

В этой модели предполагается, что ваши ветви функций недолговечны, например 1-2 дня.

...