Как удалить коммит, который "еще не произошел"? - PullRequest
0 голосов
/ 09 ноября 2018

Я выдвинул коммит с датой в будущем:

enter image description here

Я хочу удалить его, но:

  • Я нашел способы сделать это только с моим локальным репо
  • Я сделал этот коммит на машине, которая в данный момент недоступна
  • Этот коммит не появляется в моей текущей машине, даже если я потяну

Есть ли способ удалить его с помощью веб-интерфейса github?

Есть ли способ "принудительно вытянуть", который фиксирует его удаление локально, а затем принудительно удаляет удаление?


Update

Я нашел коммит, но он отличался от показанного в github. enter image description here

Я пытался изменить фиксацию с помощью git rebase <id> -i, но фиксация не появляется в ребазе

enter image description here

Коммит, который я пытаюсь изменить, начинается с 03.

1 Ответ

0 голосов
/ 09 ноября 2018

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

Но ябудет использовать git filter-branch как этот , чтобы узнать дату автора коммита.

git filter-branch --env-filter \
    'if [ $GIT_COMMIT = 03...]
     then
         export GIT_AUTHOR_DATE="Fri Jan 2 21:38:53 2009 -0800"
         export GIT_COMMITTER_DATE="Sat May 19 01:01:01 2007 -0700"
     fi' SHA1..HEAD

Опять: убедитесь, что SHA1 - это тот до 03 ... вы хотите изменить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...