фиче-ветки?
Контекст - наш флоу такой - есть главная ветка, от нее фиче ветки, которы затем сквошаются и мержаются в главную.
Есть 2 задания у меня. По заданию 1 я сделал 2 коммита и открыл ПР. ПР еще не замерджен в главную ветку. Но мне надо работать на заданием 2, код которого нельзя сделать без кода из задания 1.
Как быть?
Если ответвится от фичи-1, то потом не знаю как мерджать, потому что в master не будет вообще тех коммитов, что были в фича-1, будет лишь 1 новый коммит (из-за сквоша)
А какой смысл мержить фичу2, если фичи1 нет в мастере?
Мержить уже после мерджа фичи-1
После мерджа первой ветки в мастер делать rebase --onto диапазона коммитов, относящихся к фиче 2.
Почкуетесь от фичи-1, коммитите, пушите, создаете ПР с целевой веткой фича-1 (а не мастер). Так люди смогут ревью сделать уже сейчас. После мержа фичи-1 берете ветку фича-2, рибейсите ее относительно мастера, меняете целевую ветку на мастер, форспушите. Вуаля, ее можно мержить и она фактически уже была проревьювлена.
> создаете ПР с целевой веткой фича-1 (а не мастер) Непонятно зачем
Для кодревью же.
Непонятно зачем танцы с целевой веткой
Я так понимаю, “рибейсите ее относительно мастера” - это тоже самое, что Алекс выше написал - rebase —onto?
ну можно сделать интерактивный rebase, можно rebase --onto
Если указать целевой веткой мастер, то в этом ПРе будут как коммиты фичи-1, так и коммиты фичи-2. Такое ревьювить сложнее.
Можно самый обычный ребейз
затем что будут конфликты.
Мне не надо открывать ПР для фича2 пока фича1 не замерджена
Не будут
А, тогда тупо от нее ветвитесь, а потом после мержа фичи-1 интерактивный рибейс от мастера с выкидыванием нерелевантных коммитов (которые фактически сквошнутся в мастере). Или --onto
а онто как правильно делать?
Не знаю, я всегда интерактивный рибейс делаю 😸С этим либо в доки, либо к @cutwater
First let’s assume your topic is based on branch next. For example, a feature developed in topic depends on some functionality which is found in next. o---o---o---o---o master \ o---o---o---o---o next \ o---o---o topic We want to make topic forked from branch master; for example, because the functionality on which topic depends was merged into the more stable master branch. We want our tree to look like this: o---o---o---o---o master | \ | o'--o'--o' topic \ o---o---o---o---o next We can get this using the following command: git rebase --onto master next topic
--onto новая_ветка_ветвления старая_ветка_ветвления текущая_ветка? Звучит довольно просто.
не обязательно ветка, может быть просто коммит sha.
Ну любой реф, ага.
Обсуждают сегодня