Общий регламент работы с GIT

Терминология
  • Центральная ветка - основная ветка разработки. В неё находится максимально стабильный результат. Типичное наименование: dev, development 
  • Production ветка - ветка, на которой работает боевая площадка. Данная ветка создается исключительно от "центральной". Обновляется тоже исключительно из "центральной". Типичное наименование: production
  • Demo ветка - ветка, в которую сливаются изменения для проверки и тестирования. Типичное наименование: demo
  • Feature ветки - ветки, в которых происходит непосредственная реализация нового функционала. Типичное наименование: task#номер задачи#

Общий цикл жизни задачи нового функционала.

  1. Производится ветвление от центральной ветки
  2. Выполняется задача на своей feature-ветке
  3. После выполнения задачи ветка мержится в demo-ветку, чтобы тестировщик проверил задачу на demo-площадке. 
  4. После приемки задачи на demo-ветке ветка задачи мержится в центральную ветку
  5. центральная ветка мержится в production ветку (это имеет право делать исключительно тимлид проекта)

Инструкция для разработчиков

  1. Делаем pull центральной ветки
  2. Создаем локальную Веточку под задачу вида task#номер задачи#
  3. Переключаемся на ветку, вносим все правки
  4. Делаем коммит. В сообщение к комиту - название задачи, краткое описание работы.
  5. переключаемся на центральную, делаем pull
  6. переключаемся на вашу ветку, мержим с ней центральную (решая при этом возникающие конфликты)
  7. Пункты 4-5 нужны, чтобы избежать конфликтов при отправке изменений в репозиторий
  8. После внесения всех необходимых изменений и мерджа с актуальной центральной делаем push вашей ветки на сервер.
  9. Переходим на demo ветку, актуализируем её и мержим в неё свою ветку с задачей. Нельзя мержить demo-ветку в свою ветку!
  10. Пушим demo ветку и проверяем свою задачу на demo-площадке
  11. Пишите отчет по задаче, указываете ветку с данной задачей, переводите задачу на тестировщика. Говорите, что задача находится на demo-площадк.
  12. Если по задаче есть правки - каждое изменение должно быть зафиксировано в ветке задачи соотв. коммитом с сообщением
  13. Когда задача проверена и приходит на деплой - значит, что нужно свою ветку смержить в центральную (со всеми вытекающими промежуточными обновлниями из центрального репозитория) и запушить центральную ветку
ВАЖНО!!!!!
Нельзя мержить ветку demo в свои ветки - так вы рискуете перенести в свою ветку кучу чужих задач. Т.е. нельзя делать GIT PULL ORIGIN DEMO находясь на ветке отличной от demo!