Освоение обзора кода Gerrit: загрузка патчей в объединенные коммиты

Gerrit Code Review — это мощный инструмент, используемый при разработке программного обеспечения для облегчения совместной работы и проверки кода. Хотя перед объединением исправления обычно загружаются на проверку, бывают ситуации, когда вам может потребоваться загрузить исправление в уже объединенный коммит. В этой статье мы рассмотрим несколько методов выполнения этой задачи, сопровождаемые примерами кода.

Метод 1: выборочный вариант

Выбор вишни — это метод применения определенного коммита к другой ветке. Чтобы загрузить патч в уже объединенный коммит с помощью выбора вишен, выполните следующие действия:

  1. Определите идентификатор SHA-1 объединенного коммита.
  2. Создать новую ветку на основе родительского коммита.
    git checkout -b <new_branch_name> <parent_commit_sha1>
  3. Выберите желаемый коммит в новую ветку.
    git cherry-pick <merged_commit_sha1>
  4. Отправьте новую ветку на проверку.
    git push origin <new_branch_name>

Метод 2. Изменение коммита по слиянию

Другой подход — внести в исходный коммит слияния необходимые изменения. Вот как это можно сделать:

  1. Определите идентификатор SHA-1 коммита слияния.
  2. Внесите необходимые изменения в код.
  3. Изменить коммит по слиянию.
    git commit --amend
  4. Отправьте исправленный коммит на проверку.
    git push origin HEAD:refs/for/<branch_name>

Метод 3. Использование функции редактирования Геррита

Gerrit предоставляет функцию «Редактировать», которая позволяет вам изменять уже объединенный коммит. Вот шаги по использованию этой функции:

  1. Перейдите в интерфейс Gerrit и найдите объединенный коммит, который хотите отредактировать.
  2. Нажмите кнопку «Изменить» рядом с коммитом.
  3. Внесите необходимые изменения в код.
  4. Сохраните изменения.
  5. Отправьте отредактированный коммит на проверку.
    git push origin HEAD:refs/for/<branch_name>

Метод 4. Создание последующих изменений

В некоторых случаях может оказаться целесообразным внести последующие изменения для внесения желаемых изменений. Вот как это можно сделать:

  1. Определите идентификатор SHA-1 объединенного коммита.
  2. Создайте новую ветку на основе родительского коммита.
    git checkout -b <new_branch_name> <parent_commit_sha1>
  3. Внесите необходимые изменения в код.
  4. Зафиксируйте изменения.
    git commit -a -m "Follow-up change"
  5. Отправьте новую ветку на проверку.
    git push origin <new_branch_name>

Загрузить исправление к уже объединенному коммиту в Gerrit Code Review можно различными способами, включая выборку, внесение изменений в коммит слияния, использование функции Gerrit «Редактировать» или создание последующих изменений. Каждый метод обеспечивает гибкость в зависимости от конкретных требований вашего проекта. Овладев этими приемами, вы сможете эффективно управлять изменениями кода даже после их объединения.