В проекте, управляемом Герритом, у меня есть несколько обзоров, которые на самом деле должны быть одним обзором. Разработчик забыл исправить свои коммиты. Исправить ли это с помощью git, чтобы сжать коммиты в один коммит git rebase --interactive HEAD~7
, или я могу сделать это через веб-интерфейс Gerrit? Заметит ли Геррит, что изменения внесены дважды, и откажется ли от старых ошибочных отзывов?
Как в Gerrit объединить несколько отзывов в один?
comment
возможный дубликат Gerrit: объединить несколько коммитов в одно изменение
- person helmbert   schedule 29.04.2015
Ответы (1)
В настоящее время у Геррита нет причудливого веб-интерфейса для решения этой проблемы. Просто сожмите все коммиты в один коммит и нажмите его снова.
Коммит с этим идентификатором изменения будет обновлен, и вам следует отказаться от всех других коммитов, которые больше не должны существовать (т. е. те, которые вы втиснули в отправленный коммит).
person
Mureinik
schedule
29.04.2015
Сделал это с помощью git rebase --interactive HEAD~11 fixup до самой старой фиксации/проверки, а затем нажал. На Геррите я убедился, что его можно отправить. Потом забросил другие обзоры. Гладкий.
- person Clutch; 30.04.2015
Более подробные инструкции и надеемся, что они будут полезны: если вы хотите объединить последние N коммитов в один, вы можете запустить
git rebase --interactive HEAD~N
, затем во всплывающем редакторе сохранить первый «выбор» и изменить все последующие коммиты на «s» ( squash), а затем сохраните и выйдите. В следующем всплывающем редакторе отредактируйте сообщение фиксации по своему усмотрению (возможно, сохраните только последний идентификатор изменения), затем сохраните и выйдите. Затем запустите что-то вроде git push origin HEAD:refs/for/master
, чтобы нажать его. Теперь код в gerrit будет включать все коммиты.
- person fstang; 27.08.2019