Git создает коммит слияния, хотя он выполняет ускоренное слияние - PullRequest
1 голос
/ 05 мая 2011

Я объединяю ветку исправлений в master. Когда я выполняю простое git merge hotfix-2.09 быстрое слияние, но я получаю 'merge branch "hotfix-2.09"' коммит в журнале. Исправления 01 - 08 не делали этого. Я делаю что-то не так с этим слиянием или состояние моего хозяина как-то изменилось?

редактировать Я полагаю, что это не быстрое движение вперед, а поведение, подобное этому.

[webapps@Staging www]$ git merge hotfix-2.09
Auto-merging includes/processOrderFunctions.php
Merge made by recursive.
 includes/processOrderFunctions.php |   38 +++++++++++++++++++++++++++++++----
 processorderPL.php                 |   29 ++++++++++++++++++---------
 2 files changed, 52 insertions(+), 15 deletions(-)

Ответы [ 2 ]

2 голосов
/ 05 мая 2011

Вы уверены, что это быстро? Вы бы не получили коммит слияния, если бы он сделал.

Судя по звукам, вы объединяете несколько исправлений в ветку. Я предполагаю, что эти ветви исправлений были созданы в один и тот же момент времени (master) и не являются накопительными? (т. е. все они разветвлены от master, а не hotfix-2 от hotfix-1 и т. д.).

Тогда первая объединенная ветвь будет ускоренной перемотки вперед, потому что родительский ref коммитов будет соответствовать до master. Когда вы объединяете вторую ветку, ее родительский ref будет указывать на исходный HEAD из master, а не на новый. Это означает, что он не может быть быстро продвинут, потому что это не линейный путь, и это потребует объединения, чтобы «сгладить» деревья.

0 голосов
/ 05 мая 2011

Вы rebase hotfix-2.09 освоили перед выполнением слияния?

...