2015-04-17 4 views
2

Я использую Gerrit для управления моим хранилищем git. Патчи отправляются на сервер Gerrit и сливаются в репозиторий git, когда они одобрены. Однако часто для разработки требуется некоторое время, и разработчик хочет сохранить резервную копию разрабатываемого кода. Очевидное решение заключается в том, чтобы направить ветвь непосредственно на Gerrit, но затем https://code.google.com/p/gerrit/issues/detail?id=1986 не позволяет мне передать эту ветку для просмотра.Как сделать резервную копию ветвей разработки с помощью Gerrit?

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

Как вы справляетесь с этой проблемой?

ответ

0

Самый простой способ исправить это - внести поправки в фиксацию. Это создаст новый коммит, который затем может быть перенесен в другую ветку.

git commit --amend 
git push origin HEAD:refs/for/master 
+0

Вы предполагаете конкретный случай, когда у вас есть только одна фиксация в ветке разработки. В общем случае imho вы должны использовать rebase, чтобы исправить все коммиты, как я уже упоминал в моем вопросе. –

+0

Хорошо, думаю, я неправильно понял ваш вопрос. Моя интерпретация заключалась в том, что вы хотели подтолкнуть изменение к другой ветке, а не целой серии изменений. Но почему вам нужно изменить Change-ID? – uncletall

+0

Мне нужно изменить хэшисы коммитов, потому что Gerrit не позволяет мне отправлять коммиты для просмотра, которые уже нажаты на Gerrit. См. Ссылку на трекер Gerrit, о котором я упоминал в своем вопросе. –

1

Вы пробовали draft reference? Это полезно, когда код должен делать резервную копию, не указывая его как открытый патч-набор. Затем, если код готов, он может быть опубликован. Мое предложение состоит в том, чтобы избежать рассмотрения более одного фиксации. Более коммиты/изменения становятся более эффективными для обзора.

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