Git рекомендации для проекта, который имеет одну версию «Core» и несколько ответвлений для настройки клиента? - PullRequest
3 голосов
/ 07 апреля 2011

Какие рекомендации по использованию Git есть у людей для сценария, в котором мы имеем:

  • 1 единичная «базовая система».
  • Из базовой системы мы создаем ответвления для наших клиентов с индивидуальной настройкой для них.
  • Если в основной системе обнаружена ошибка, она будет применена к версии, настроенной для клиента.
  • Некоторые исправления ошибок будет сложно применить, так как пользовательский код может быть сильно настроен.
  • Некоторые исправления могут быть актуальны только для системы клиента.
  • Клиентская система может также выполнить дополнительную работу позже, если они хотят иметь дополнительные функции.

Я экспериментировал с использованием этой техники http://dev.innovationfactory.eu/2010/06/09/development-and-release-strategy-with-git/ для небольшого проекта с одним человеком, но я боюсь, что у нас могут возникнуть проблемы с несколькими версиями клиента.

Ниже я обрисовал возможную стратегию, но думаю, у нас возникнут проблемы. Поскольку мы можем пометить что-то как релиз, наши версии клиента будут слишком сильно расходиться, и будет сложно узнать, какое исправление и где применять.

  • / release / [название релиза]
  • / Stories / [инициалы разработчика] / [имя новой функции]
  • / клиенты / [имя клиента] / мастер
  • / клиенты / [имя клиента] / истории / [инициалы разработчика] / [имя новой функции]

Конечно, ответ заключается в рефакторинге кода, чтобы клиентские версии не меняли код - но у меня сейчас нет такой роскоши: -)


РЕДАКТИРОВАТЬ: Эндрю указал на хороший аналогичный вопрос, который я, должно быть, пропустил раньше. В нем не так много деталей, как в моем собственном вопросе, в нем достаточно подробностей и хороших ответов. Поэтому я проголосую, чтобы закрыть этот вопрос в пользу этого: Как я могу отследить несколько проектов в Git, которые используют общий код?

1 Ответ

1 голос
/ 07 апреля 2011

Сделать ветку для всех клиентов.Обновление патча может работать cherry pick .

Должен иметь документацию для git: link .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...