Gerrit Code Review — это мощный инструмент, используемый при разработке программного обеспечения для облегчения совместной работы и проверки кода. Хотя перед объединением исправления обычно загружаются на проверку, бывают ситуации, когда вам может потребоваться загрузить исправление в уже объединенный коммит. В этой статье мы рассмотрим несколько методов выполнения этой задачи, сопровождаемые примерами кода.
Метод 1: выборочный вариант
Выбор вишни — это метод применения определенного коммита к другой ветке. Чтобы загрузить патч в уже объединенный коммит с помощью выбора вишен, выполните следующие действия:
- Определите идентификатор SHA-1 объединенного коммита.
- Создать новую ветку на основе родительского коммита.
git checkout -b <new_branch_name> <parent_commit_sha1> - Выберите желаемый коммит в новую ветку.
git cherry-pick <merged_commit_sha1> - Отправьте новую ветку на проверку.
git push origin <new_branch_name>
Метод 2. Изменение коммита по слиянию
Другой подход — внести в исходный коммит слияния необходимые изменения. Вот как это можно сделать:
- Определите идентификатор SHA-1 коммита слияния.
- Внесите необходимые изменения в код.
- Изменить коммит по слиянию.
git commit --amend - Отправьте исправленный коммит на проверку.
git push origin HEAD:refs/for/<branch_name>
Метод 3. Использование функции редактирования Геррита
Gerrit предоставляет функцию «Редактировать», которая позволяет вам изменять уже объединенный коммит. Вот шаги по использованию этой функции:
- Перейдите в интерфейс Gerrit и найдите объединенный коммит, который хотите отредактировать.
- Нажмите кнопку «Изменить» рядом с коммитом.
- Внесите необходимые изменения в код.
- Сохраните изменения.
- Отправьте отредактированный коммит на проверку.
git push origin HEAD:refs/for/<branch_name>
Метод 4. Создание последующих изменений
В некоторых случаях может оказаться целесообразным внести последующие изменения для внесения желаемых изменений. Вот как это можно сделать:
- Определите идентификатор SHA-1 объединенного коммита.
- Создайте новую ветку на основе родительского коммита.
git checkout -b <new_branch_name> <parent_commit_sha1> - Внесите необходимые изменения в код.
- Зафиксируйте изменения.
git commit -a -m "Follow-up change" - Отправьте новую ветку на проверку.
git push origin <new_branch_name>
Загрузить исправление к уже объединенному коммиту в Gerrit Code Review можно различными способами, включая выборку, внесение изменений в коммит слияния, использование функции Gerrit «Редактировать» или создание последующих изменений. Каждый метод обеспечивает гибкость в зависимости от конкретных требований вашего проекта. Овладев этими приемами, вы сможете эффективно управлять изменениями кода даже после их объединения.