Ошибка Gerrit при отсутствии Change-Id в сообщениях коммита - PullRequest
43 голосов
/ 13 января 2012

Я установил ветку в удаленном репозитории и сделал несколько коммитов в этой ветке. Теперь я хочу объединить удаленную ветку с удаленным мастером.

В основном мои операции выполняются следующим образом:

  1. Отделение оформления заказа
  2. Мастер проверки
  3. ветвь слияния и исправление ошибок слияния
  4. 1012 * совершить *
  5. Заголовок push-координат: refs / for / master

Но получите сообщения об ошибках на 5-м шаге:

remote: Resolving deltas:   0% (0/12)

remote: ERROR: missing Change-Id in commit message
...

remote: Change-Id: I55862204ef71f69bc88c79fe2259f7cb8365699a

To ssh://prc@test.gerrit.xxx.com:29418/hello_git
 ! [remote rejected] HEAD -> refs/for/master (missing Change-Id in commit message)

Ответы [ 12 ]

0 голосов
/ 09 сентября 2014

Мы решили эту проблему сегодня утром путем повторного клонирования репозитория и повторного применения изменений.Это самый простой способ повторной синхронизации вашей локальной копии с Gerrit.Как всегда, мы сначала создали резервную копию.

Хотя существует ряд других чрезвычайно сложных решений, часто выгодно использовать простой подход, чтобы избежать ухудшения ситуации.

0 голосов
/ 04 декабря 2013

Я тоже получил это сообщение об ошибке.

, и я думаю, что здесь полезно дать ответ, что ответ @ Rafał Rawicki является хорошим решением в некоторых случаях, но не для всех обстоятельств.пример, который я встретил:

1.run "git log" we can get the HEAD commit change-id

2.we also can get a 'HEAD' commit change-id on Gerrit website.

3.they are different ,which makes us can not push successfully and get the "missing change-id error"

решение:

0.'git add .'

1.save your HEAD commit change-id got from 'git log',it will be used later.

2.copy the HEAD commit change-id from Gerrit website.

3.'git reset HEAD'

4.'git commit --amend' and copy the change-id from **Gerrit website** to the commit message in the last paragraph(replace previous change-id)

5.'git push *' you can push successfully now but can not find the HEAD commit from **git log** on Gerrit website too

6.'git reset HEAD'

7.'git commit --amend' and copy the change-id from **git log**(we saved in step 1) to the commit message in the last paragraph(replace previous change-id)

8.'git push *' you can find the HEAD commit from **git log** on Gerrit website,they have the same change-id

9.done
...