@FreeArcher
Senior 1С; php, JS Starter

Есть ли разница как создавать ветку на основании feature или master?

У нас идет последовательная разработка и задачи (feature) тянутся очень долго.
Когда берешь в работу очередную задачу, то есть несколько задач, которые ещё тестируются. А твоя новая задача должна основываться на предыдущих.

Пример: есть задачи feature1, feature2, feature3. Каждая из задач содержит в себе код из предыдущий задачи.

Мне нужно создать feature4, в которой уже будет код всех остальных.

Я вижу 2 варианта:
1. Создавать новую ветку на основании feature3 и продолжить работу.
2. Создать новую ветку на основании master и слить в нее все 3 ветки.

Скажите какой вариант более правильный и почему?
  • Вопрос задан
  • 89 просмотров
Решения вопроса 1
sergey-kuznetsov
@sergey-kuznetsov Куратор тега Git
Автоматизатор
последовательная разработка и задачи

Поясните, что вы имели в виду под «последовательная». Предыдущая задача полностью замораживается при начале следующей? Это какой-то странный рабочий процесс.
Либо вы чего-то недоговариваете.
Несколько долгоживущих веток подразумевают именно параллельную разработку, а не последовательную.

1. Создавать новую ветку на основании feature3 и продолжить работу.
2. Создать новую ветку на основании master и слить в нее все 3 ветки.

Ветки на самом деле создаются не от других веток, а от конкретных состояний (коммитов).
Оба варианта дадут совершенно идентичный результат. И в обоих случаях желательно будет делать синхронизацию. Только зачем вам во втором случае сливать в новую ветку три предыдущих, если вы говорите что feature3 уже содержит в себе работу из предыдущих?

Если у веток будет один родитель, то git сможет сделать перемотку вперед.

Нет. У любых двух веток в любом случае есть какой-то общий родитель. Быстрая перемотка возникает лишь если в одной из веток ничего не делали после ответвления от неё. Если ветки разошлись, то обязательно получится коммит слияния, но не факт что возникнут конфликты.

Если работать правильно, то есть регулярно подгружать в тематическую ветку актуальное состояние проекта, то неважно от какой точки вы создаёте эту тематическую ветку.
Наведите порядок в вашем workflow.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
SPART4K
@SPART4K
Middle Front-end Developer (Vue.js/Nuxt.js)
Я бы создал ветку dev в которое будет складываться все актуальное, и уже после успешных тестов заливал её в мастер
Делаете задачи , в ветке 1 потом пушите в условную ветку dev, и уже от dev ответвляетесь в новую ветку n , или можете последующие задачи ответвлять от предыдущих веток и далее когда закончите пишите в dev
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы