Я сейчас попробую сделать хорошо и понятно. дайте знать если я делаю сильно понятнее, но все еще не понятно, и я добавлю кое-чего.
Есть ветка MAIN (она же мастер, она же - фактически отражает состояние продакшена)
когда ты хочешь зарелизить какую-то большую фичу, ты создаешь в Джире Сторю. на сторе привязаны сабтаски для разработчиков.
представь, что у тебя есть 2 разработчика. Один делает работу в vasya-17785-add-endpoint-cart-items, другой в masha-17801-add-template-cart.
Маша и Вася создали Пул реквесты своих веток в Ветку релиз, который по сути привязан к юзерсторе. пусть будет ветка release-new-cart-page.
2 PR которые открыты на ревью и будут закрыты (вмержены) когда все вопросы будут решены.
Какие вопросы могут быть?
- мердж конфликт
- красные тесты
- проблемы, которые тесты не покрывают
Предположим, что ветки очень сырые и разработчики чтобы разблокировать себя именно должны делиться кодом, как ты сказал. У них должна быть какая-то точка синхронизации. Что можно сделать?
Маша может от своей текущей фиче ветки сделать ветку, в которую смерджит код Васи. Проверит, что ей нужно. даст обратную связь Васе. Вася обновит свою ветку.
Так решилась проблема неявная. точка синхронизации - кто-то взял и вмерджил себе локально без всяких разрешений ветку коллеги.
Далее уже каждый из Мердж реквестов должен будет удовлетворять тем критериям качества и проверок, которые есть у вас на проекте.
Следующий вопрос:
вот кто-то уже фичу сделал. ветка прошла ревью и была смерджена в релиз. но появились доработки. Что с ними делать? Создай отдельную ветку с доработками! повтори ревью. Если хочется не терять все мердж реквесты -- называйте коммиты во всех ветках с префиксами тикетов в джире. так у Васи например будет один тикет. но в нем будут отображены линки на 3 мердж реквеста к этому тикету: 1 изначальный (большой) и 2 маленьких (правки)