Перед началом работы над задачей переключаемся на ветку develop
git checkout develop
Забираем свежие изменения из develop
git pull
Создаем новую ветку
git checkout -b SERP-* develop
# * - номер задачи в JIRA
# префикс SERP - для обычных задач, HF-SERP - для мелких исправлений
Во время работы над фичей не забываем коммитить изменения
git add .
git commit -m 'SERP-*:<сообщение>' # для первого коммита
Если не хотим плодить коммиты после первого, то пользуемся командой
git add .
git commit --amend
Когда завершили фичу, проверяем, что в ветке только один коммит с общим описанием изменений. Если их несколько, то пользуемся git rebase -i
, подробнее можно прочитать тут
Публикуем фичу командой
git push -f origin SERP-*
Создаем пулл реквест на bitbucket и отдаем на проверку коллегам. После проверки кода, исправления ошибок и замечаний обновляем ветку и публикуем её заново
git add .
git commit --amend
git push -f origin SERP-*
Если задача закончена и код всех устраивает, проверяем нет ли новых изменений в ветке develop. Переключаемся на нее и делаем pull, ребейз и публикуем ветку
git checkout develop
git pull
git checkout SERP-*
git rebase develop
git push -f origin SERP-*
Когда фича полностью готова, закрываем пулл реквест на bitbucket и ветка попадает в develop.
Перед релизом забираем самую свежую ветку develop. Создаем новую ветку
git checkout develop
git pull
git checkout -b release-x.x.x develop
# x.x.x - версия релиза
Тестируем ветку, если надо вносим изменения и создаем коммит.
git add .
git commit -m 'release-x.x.x:<сообщение>'
# или git commit --amend
Можно добавить метки с версией релиза
git tag -a 1.2.1
git push -f origin release-x.x.x
Публикуем ветку на bitbucket и создаем пулл реквест
git push -f origin release-x.x.x
Когда коллеги проверили пулл реквест, закрываем его на bitbucket и ветка попадает в master.
После релиза нужно забрать изменения из ветки master
git checkout master
git pull
И сделать ребейз на develop
git checkout develop
git rebase master
После ребейза публикуем develop
git push -f origin develop