Git: Отмена переписывания истории? - PullRequest
4 голосов
/ 20 марта 2012

У меня проблема со следующей ситуацией:

  • несколько коммитов передаются на удаленный компьютер (наша система просмотра кода)
  • разработчик переписал историю (отредактировал некоторые коммиты во время перебазирования) локально
  • при попытке повторного нажатия, codereview не принимает его (так как это изменение уже могло пройти проверку)

Как я могу «сбросить» -single- commit длячто находится в этом пульте?

Модифицированный коммит не всегда является HEAD, поэтому я не могу просто выполнить 'git reset --hard HEAD ^ && git pull'.

edit:

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

1 Ответ

3 голосов
/ 20 марта 2012

Проверьте reflog с:

git reflog

Затем выберите ГОЛОВКУ, соответствующую выбранному вами коммиту, например,

git reset --hard HEAD@{5}

сбросит вашу ветку до точки HEAD, указанной на пять коммитов назад.

...