Слияние исправлений git-flow в исходном дереве с быстрой перемоткой вперед

Мне трудно понять, как правильно объединять исправления (в смысле git-flow) в SourceTree. Веб-сайт SourceTree указывает:

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

Но когда я завершаю исправление в SourceTree, я получаю следующее:

Действительно, Sourcetree объединил исправление как в master, так и в development, но это, по-видимому, привело к тому, что обе эти ветки разошлись, что затем вынудило меня снова объединить development в master вручную. В результате получается просто уродливая структура.

До исправления и мастер, и разработка находились на одном и том же коммите. Поэтому я ожидал, что после исправления SourceTree объединит обе эти ветки с веткой исправления через ускоренную перемотку вперед, в основном получив такой простой макет: введите здесь описание изображения

Здесь исправление «fixing more...» отображается как простая фиксация. Есть ли какой-либо вариант, который заставит SourceTree объединиться в исправлении с таким простым быстрым слиянием, в основном продвигая мастер и разработку одновременно? Есть ли что-то, что мне может не хватать в git или git-flow?


person Eric    schedule 05.12.2012    source источник


Ответы (1)


В исходной статье, описывающей поток git, слияния выполняются с помощью git merge --no-ff . Похоже, SourceTree поступает правильно.

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

person khagler    schedule 05.12.2012
comment
О, понятно, это баг, а не фича... Спасибо! - person Eric; 05.12.2012