Почему я получаю сообщение "Ошибка не подтолкнула некоторые ссылки"? - PullRequest
0 голосов
/ 06 июня 2018

Я использую Git с Gerrit и пытаюсь отправить изменения с помощью следующей команды

 git push origin HEAD:refs/for/master

, которая завершается с сообщением об ошибке

Подсчет объектов: 54, выполнено,Дельта-сжатие с использованием до 4 потоков.Сжатие объектов: 100% (23/23), сделано.Письменные объекты: 100% (54/54), 4,56 КиБ |0 байт / с, готово.Всего 54 (дельта 20), повторно использованный 0 (дельта 0) удаленный: Разрешение дельт: 100% (20/20) удаленный: Обработка изменений: refs: 1, выполнено удаленно: ОШИБКА: [041a9f9] отсутствует Change-Id в нижнем колонтитуле сообщения фиксацииremote: remote: Подсказка: чтобы автоматически вставить Change-Id, установите хук: remote: gitdir = $ (git rev-parse --git-dir);scp -p -P 29418 urid@gerrit.ext.net.something.com: hooks / commit-msg $ {gitdir} / hooks / remote: а затем изменить коммит: remote: git commit --amend remote: в ssh://gerrit.ext.net.something.com:29418/Project/FolderName![удалено отклонено] HEAD -> refs / for / master ([041a9f9] отсутствует идентификатор изменения в нижнем колонтитуле сообщения фиксации): не удалось отправить некоторые ссылки в 'ssh: //username@gerrit.ext.net.something.com:29418 / Project / FolderName '

Таким образом, как упоминалось в сообщении об ошибке выше, я запускаю команду ниже

--git-dir); scp -p -P 29418 urid@gerrit.ext.net.something.com:hooks/commit-msg ${gitdir}/hooks/

и выводим

commit-msg
100% 4682 23,0 КБ / с 00: 00

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

git commit --amend

ипоказывает правильное значение Change-Id: I55862204ef71f69bc88c79fe2259f7cb8365699a и, как уже упоминалось в этих документах , указывается только в последней строке.

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

Update 1 Вот вывод

$ git log

commit 10690fb1b829981852855aecaab0dfd7aaf9997f (HEAD ->master) Автор: Имя автора

Дата: ср 6 июн 18:42:25 2018 + 0530

SUREREQ-6877:Support of PATCH and OPTIONS

Change-Id: Ic7f36b90832078afa740b1138cb35829456f389d

Совершить 041a9f9deeae886c9771995a1463d40ca2d3fa3c Merge: e265b88b 7f2ec936 Автор: Автор Название Дата: Ср Июн 6 17:33:48 2018 + 0530

Merge branch 'master' of ssh://gerrit.ext.net.nokia.com:29418/SURE/sure-sw

совершить e265b88b6194f65dedbf070b2be7f6c7018f6dec Автор: Автор Имя
Дата: ср 6 июня 16:59: 58 2018 + 0530

SUREREQ-6877:Support of PATCH and OPTIONS

Change-Id: I82382926d5acd8f9101bd3fc7bbb33bae85672da

commit 7603b20691b59de2f086ca5633314f89bcc963ab Автор: Имя автора
Дата: Ср. 6 июня 16:53:04 2018 + 0530

SUREREQ-6877:Support of PATCH and OPTIONS

Change-Id: I9312ebbe3d346ff97ca996c2219f204a55d1b9ac

commit 305fd46084f2a230f49500b0b0b8b8b8b4b8b8b8b4b8b8bcfИмя
Дата: ср 6 июня 16:52:24 2018 + 0530

SUREREQ-6877:Support of PATCH and OPTIONS

Change-Id: I011e3e3c22954774e99462c585a54cf9a0aad428

commit 8b1059922745a605851f4a9bd6cae3193a85c62c Автор: Имя автора
Дата: ср 6 июня 16:49:15 2018 + 0530

SUREREQ-6877:Support of PATCH and OPTIONS

Change-Id: Ic9d9e7e787f8a826f18f361cf0c20930c42bf04b

commit 7f2ec936f4133988194b14dca910fb921a6946be (происхождение / мастер, происхождение / HEAD)

Ответы [ 3 ]

0 голосов
/ 07 июня 2018

Вы фиксируете 041a9f9deeae886c9771995a1463d40ca2d3fa3c является коммитом слияния, и у него нет идентификатора изменения.Вероятно, это было создано локально, и Git не запускает ловушку commit-msg при фиксации слияния.Прежде чем отправлять изменения, необходимо убедиться, что вы это исправили.

0 голосов
/ 08 июня 2018

Попробуйте git pull origin -r master, чтобы сгладить коммит слияния, в котором отсутствует Change-Id.Фиксация слияния избыточна.

0 голосов
/ 06 июня 2018

Кажется, проблема не в последнем коммите.Возможно, проблема (отсутствующий Change-Id) связана с родительским коммитом.Выполните команду git log и просмотрите свою историю коммитов, чтобы найти новый коммит без Change-Id.Помните: все новые коммиты должны иметь уникальный Change-Id.В этом случае вам нужно использовать команду git rebase -i, чтобы добавить Change-Id к коммитам.

...