Git сохранить последний коммит, но удалить тот, что был ранее - PullRequest
0 голосов
/ 10 сентября 2018

Я пытаюсь подтолкнуть новейшую Git-Commit к Gerrit. Но почему-то я получаю сообщение об ошибке, в котором говорится, что я не могу нажать, потому что два коммита имеют один и тот же Change-ID.

На изображении ниже вы можете увидеть текущую ситуацию.

  1. Третий коммит (сверху) уже сдвинут в геррит.
  2. Третий и второй коммит как-то имеют одинаковый Change-ID.
  3. Я хочу отправить первый коммит герриту.

enter image description here .

Так что моя идея исправить эту проблему - удалить второй коммит. Это возможно?

1 Ответ

0 голосов
/ 10 сентября 2018

Предположим, что хеш-коммиты трех коммитов сверху вниз представляют собой A, B и C.

Убедитесь, что git status говорит, что он чистый. Если нет, сначала запустите git stash.

Если вы действительно больше не хотите B,

git reset C --hard
git cherry-pick A

Если вы все еще хотите B,

git reset B --hard
git commit --amend
# Edit the commit message and delete the change-id line, save and exit.
# The commit-msg hook will generate a new changeid.
git cherry-pick A

А затем снова нажмите.

...