Я и моя команда разрабатывают функцию с удаленной веткой (origin/our_feature_branch
) с основной дорожки (origin/dev
). Gerrit используется для обзора и т. Д.Как переустановить слияние, но сохранить фиксацию слияния
Подъем дистанционной ветви осуществляется с помощью git merge origin/dev
, за которым следует устранение конфликтов, совершение и git push origin HEAD:refs/for/our_feature_branch
.
Gerrit применяет правило, в котором говорится, что может быть нажата только одна фиксация за раз. Я ничего не могу с этим поделать.
Скажем, я начинаю работать делать поднятие:
git fetch
git checkout -b uplift origin/our_feature_branch
git merge origin/dev
Но здесь я застрять фиксируя некоторые конфликты и регрессивные тесты занять некоторое время, чтобы работать, а некоторые из членов команды представляет другой совершить в эту ветку в Геррит. Эта фиксация теперь находится поверх базовой фиксации для моего «текущего» поднятия.
Что мне делать?
Если я переустанавливаю фиксацию слияния на ветке свойств, я удаляю слияние и добавляю все коммиты, объединенные с origin/dev
поверх нее, а не вариант. Если я объединился с ветвью функций, у меня получится слияние при слиянии, и мне в итоге придется нажать две коммиты на Gerrit - также не разрешено.
Есть ли решение для этого или мне нужно повторно выполнить слияние и попытаться не забыть рассказать всем, что у нас есть остановка доставки в следующий раз, когда я начну работать над поднятием?
Вы пробовали скомпилировать фиксацию слияния на новой фиксации с помощью 'git rebase -p'? – user4815162342
Чтение документации, '-p' выглядит многообещающим. Я дам это, когда вернусь в офис в понедельник, спасибо! – Martin