Каковы наиболее распространенные схемы ветвления / жизненные циклы коммитов Git?

Во-первых, извините, если это дубликат, но я попытался выполнить поиск и все, что я смог найти, это то, как создавать ветки в Git и еще много чего. Это не то, что я так ищу; Я пытаюсь выяснить, как разные люди настраивают свои ветки Git в соответствии со своим рабочим процессом.

Позвольте мне привести вам пример того, как наша компания это делает:

  1. Разработчик передает свои собственные ветки, локально
  2. Разработчик отправляет фиксацию на свой удаленный компьютер, где система непрерывной сборки проверяет ее, а другой разработчик проверяет ее.
  3. Если проверка / сборка проходит, фиксация объединяется с ветвью QA (если она не выполняется, выполняется больше фиксации. выполняется до тех пор, пока не пройдут обзор / сборка)
  4. Если фиксация не удалась QA, выполняется откатная фиксация, чтобы получить ее
  5. После того, как будет готово достаточное количество коммитов QA, наша главная ветвь получит коммиты (ветвь QA основана на ней поэтому слияния не требуются)
  6. Периодически из основной ветки берутся ветки и используются для выпуска «в открытый доступ». Если здесь обнаружены проблемы, откатная фиксация будет снова использована для удаления кода
  7. После выпуска разработчики перенастроят свои ветки на основную ветвь (получив как свои предыдущие фиксации, так и фиксации других разработчиков)

Теперь, с этой системой есть некоторые проблемы; Я отмечу некоторые из них в комментариях, но на самом деле я не ищу «пожалуйста, исправьте нашу систему для меня», я просто пытаюсь посмотреть, какие другие варианты ветвления мы могли бы использовать вместо этого, чтобы я мог взвесить различные возможности.

Итак, если вы работали в нескольких компаниях, которые используют Git (или даже лучше, если вы какой-то консультант, который видел тонны настроек Git), не могли бы вы поделиться: как разные компании настраивают Ветви Git (и перемещение коммитов между ними) для облегчения различных этапов разработки ... при этом стараясь быть как можно менее раздражающим? Я уверен, что должны быть какие-то общие шаблоны ... но я понятия не имею, что это такое.

PS Если вы видели только одну настройку Git, но считаете ее интересной, пожалуйста, опубликуйте ее. Тем не менее, я' Я хотел бы наградить ответом того, кто предоставит наилучшее описание возможных вариантов, и я ожидаю, что это будет от кого-то, кто видел несколько настроек Git.

9
задан machineghost 9 October 2010 в 07:39
поделиться