Подтвердить что ты не робот

Как объединить ветку геррита в другую ветку геррита

Я использую Gerrit версии 2.4.2. У меня есть ветвь master, и я создал новую ветвь, называемую newbranch. Затем я нажал некоторые изменения на пульте дистанционного управления (Gerrit's) newbranch. После проверки в Gerrit я объединил изменения в newbranch.

Нет, я хочу объединить newbranch в master, отправить обновления master (объединенные с изменениями из newbranch) и удалить ветвь newbranch.

Я попытался сделать это:

git fetch
git checkout master
git merge newbranch
git push origin master:refs/for/master

Но Геррит отправляет обратно:

 ! [remote rejected] master -> refs/for/master (no new changes)

Что мне делать?

4b9b3361

Ответ 1

Эта ситуация была отмечена как ошибка в Gerrit. Здесь решение/обход из Трекер ошибок Gerrit:

Насколько мне известно, у вас есть 2 варианта в настоящее время -

  • Принудительное нажатие на кнопки refs/heads. Это просто ускоренная перемотка вперед, поэтому теоретически все уже проверено и проверено. Нет смысла делать это снова, поэтому просто пропустите этот процесс и нажмите на refs/heads, а не refs/for.

  • Идем дальше и создаем фиксацию слияния. Используйте 'git merge --no-ff' - это создаст фиксацию слияния, даже если это не обязательно в вашей быстрой перемотке. Затем фиксация слияния может быть загружена, проверена, проверена и объединена, как обычно.

Моя компания имеет тенденцию идти с опцией 2. Я закрою это как wontfix, но если у вас есть какие-то предложения о том, как это сделать, пожалуйста, сообщите нам.

Ответ 2

Если слияние является быстрым слиянием, объект не существует, чтобы нажать на gerrit, так как перемотка вперед просто перемещает указатель на ветку.

Вам нужно заставить слияние создать объект, избегая быстрой перемотки вперед:

git merge --no-ff