Как работать с новой веткой git, которая зависит от другой ветки git, которая еще не объединена? - PullRequest
25 голосов
/ 22 января 2012

Вот мой сценарий:

  • Мой проект следует шаблону ветвления темы.

  • Я создаю ветку, чтобы исправить некоторые проблемы, давайтевызвать эту ветку problem_fixes.Я делаю свои изменения и отправляю запрос на извлечение.

  • Мне нужно начать работу над новой функцией, поэтому я создаю вторую ветку с именем my_feature и фиксирую кучу изменений.

  • В какой-то момент я понимаю, что my_feature зависит от problem_fixes, которые еще не были приняты и объединены (ветка my_feature опирается на некоторые исправления из первой ветви, и я не могу добиться прогресса безих).

Если не считать, что мой проект ведет к принятию и слиянию моей первой ветки быстрее, каков наилучший процесс для этого?

Интересно, смогу ли янужно начать новую третью ветку на основе problem_fixes (вместо master) и объединить мои коммиты с my_feature?Или все будет в порядке, если я просто объединю problem_fixes с my_feature и продолжу работу - при условии, что problem_fixes сначала объединяется с master, когда my_feature объединяется, теоретически все должно быть в порядке (?)

Ответы [ 3 ]

14 голосов
/ 22 января 2012

Создайте свою ветку темы из первой ветки.Как только первое объединено с мастером, вы можете сделать это повторно, и, если предположить, что не слишком много было изменено, это не должно быть проблемой.

Если коммиты первой ветви не изменились,новая ветвь будет аккуратно складываться поверх этого, и если коммиты изменяются (сдавлены, отредактированы или что-то еще), вы всегда можете сделать интерактивную перебазирование второй ветки и отредактировать ее, чтобы она выглядела хорошо после объединения первой ветки.

10 голосов
/ 22 января 2012

Да, я думаю, вы на правильном пути.Я хотел бы создать новую ветку my_feature, возможно, немного поработать.Когда я пойму, что my_feature зависит от problem_fixes, объедините эту ветку. Это может произойти сразу, если вы знаете, что вам это нужно.Затем, когда my_feature объединен с мастером, у вас уже есть необходимые изменения.

Обратите внимание, что, пока у вас есть надежная процедура проверки кода, тогда, если вы попытаетесь объединить my_feature вмастер до problem_fixes, тогда вы заметите в это время.

0 голосов
/ 30 июня 2018

В случае, когда я начал работать с master, то понял, что мне нужны некоторые изменения из другой ветки, которые нельзя объединить, потому что в ней все еще есть некоторые вещи (но дерьмо мне нужно завершено) что я бы сделал в этом случае может быть

  • Слить свою ветку в мою

  • Завершить мою функцию

  • Подождите, пока другой разработчик завершит свою функцию

  • Они сливаются в master

  • Я выбираю коммиты Ожидаю коммит слияния в master

Как вы думаете, ребята, это может быть выходом из особенно болезненной ситуации, хотя она включает в себя возиться со сбором вишни, который большинство людей считает болью в заднице, как перебазирование.

...