02 мая 2012 г., 00:22 от Shellum

Как избавиться от ложных зависимостей в геррите

Похоже, что при использовании gerrit все изменения по умолчанию зависят от предыдущего. Я не ветвлюсь для новых изменений, я просто работаю с веткой master и затем помещаю зафиксированные изменения в удаленный источник / master. Зависимость создается каждый раз, даже если два коммита не имеют ничего общего друг с другом.

Я столкнулся с несколькими проблемами, из-за которых мне кажется, что я неправильно использую git в сочетании с gerrit.

Что должно происходить по-разному в моем рабочем процессе git / gerrit, чтобы каждый коммит не зависел от предыдущего коммита? Я также пытался создать новую ветку для изменения:

<code>> git pull origin master
> git checkout -b new_branch
> #make a change
> git add -A
> git commit #with gerrit's commit hook in .git/hooks
> git push origin <sha1>:refs/for/master
</code>

Это работает, но gerrit по-прежнему сообщает о зависимости от ранее зафиксированного элемента.

Ответы на вопрос (0)

07 июн. 2012 г., 11:04 от Mitch

git reset --hard HEAD~1 после каждогоgit push.

11 мар. 2015 г., 17:54 от cafebabe1991Brad

Gerrit означает под зависимостями - коммит, который находится поверх другого коммита. Если оба находятся на рассмотрении, новый зависит от старого.

Если вы не хотите, чтобы они зависели друг от друга, не создавайте коммиты друг на друге. Создайте один коммит, затем создайте новую ветку на основе master для вашего следующего коммита

(git checkout origin/master -b NEW_BRANCH_NAME).

Когда вы отправляете второй коммит на проверку, его родительский объект уже будет опубликован, и он не будет зависеть от чего бы то ни было.

10 дек. 2013 г., 15:05 от trejderdocwhat

Как вариантgit reset --hard HEAD~1 Я использую это вместо:

git reset --hard origin/master

Предполагая, что я работаю вmaster для быстрой смены.

В противном случае работа в тематической ветке гораздо предпочтительнее.

Есть много скриптов Git, которые помогают управлять ветками тем:

git-flow git extras git create-branch

Я уверен, что есть и другие.

ВАШ ОТВЕТ НА ВОПРОС