2015-04-26 2 views
0

Вот сценарий.Избегайте слияния в gerrit/git

  1. Разработчик А толкает совершить c1 к Геррит, которая основана на фиксации гр
  2. Developer B толкает совершить c2 к Геррит, который также основан на фиксации C
  3. Рецензент сливает фиксаций c1 и c2 в Геррит.
  4. Когда рецензент вытаскивает репо (используя git pull --rebase), он видит 3 фиксации.

(Последний показан на вершине, как показано в журнале мерзавца)

Merge "log_message_of_commit_c2" в мастера (Это не имеет ИД изменения)

log_message_of_commit_c2

log_message_of_commit_c1

Было ли объединение слиянием, созданным самим gerrit, когда c2 было объединено после c1? Есть ли способ избежать этого? (Кроме проявителя B перебазирований и повторной передачи с2, но это включает синхронизацию между А и В, что не всегда возможно)

Спасибо, Самир

ответ

4

Слияния-фиксации создаются с помощью Геррита.

Вы можете избежать этого слияния, используя стратегию черешни в Gerrit. См.: https://gerrit-review.googlesource.com/Documentation/project-configuration.html#submit_type

+0

Спасибо! Будет ли «Rebase If Need» также работать в этом случае? так что C2 будет rebase'd на C1. –

+2

@SameerNaik: Да, Rebase При необходимости тип отправки также избегает коммитов. –

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