2012-04-19 2 views
2

Предположим, у меня есть несколько ветвей: feature_1, ответвляется от HEAD из master, то feature_2 ответвляется от HEAD из feature_1 и feature_3 разветвленного от HEAD из feature_2.Слияние ветвь нескольких ветвей в Git

И вот я обнаружил ошибку в feature_1. Я исправлю это и зафиксирую, теперь feature_2 и feature_3 все еще содержат эту ошибку. Один из способов исправить это - объединить feature_1 на feature_2 и feature_3.

Это правильный способ сделать это?

ответ

2

Вишневый сбор в основном используется именно для того, что вы описали.

http://linux.die.net/man/1/git-cherry-pick

+0

Спасибо, я прочитаю это. – Shark

+0

На удаленной репо вишневый сбор будет лучшим способом, я думаю, поэтому я отмечаю этот ответ как правильный, поскольку он более универсален. Восстановление удаленного репо было бы проблематичным. – Shark

4

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

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

Смежные вопросы