Отменить git push на github - PullRequest
       3

Отменить git push на github

19 голосов
/ 12 сентября 2010

Я сделал ошибку .... и я не знаю, как это исправить.

Я объясняю проблему.

Я работал над своим проектом и сделал первый коммит. В этом коммите было добавлено 2 больших бесполезных файла ... Я не хотел эти файлы, поэтому я сделал

git rm file

Затем подтвердил еще раз. И я тупой, потому что я нажал на github хехехе:).

Я думаю, вы обнаружили проблему ...

Как я могу окончательно удалить эти файлы из моего локального хранилища и репозитория github (особенно github ...)

Я нашел некоторую помощь в Интернете, но я не хочу ломать весь свой репозиторий.

Спасибо

Ответы [ 2 ]

30 голосов
/ 12 сентября 2010

Если никто не потянул, вы должны просто вернуть свою локальную ветку так, как вы этого хотите (возможно, либо сбросив на предыдущую позицию, либо выполнив интерактивную перебазировку для удаления нежелательного коммита), затем снова нажмите, чтобыgithub с опцией -f (force):

git push -f <remote-name> <branch-name>

Если другие люди потянули, применяется обычный совет: прочитайте раздел восстановление после восходящего потока человека git-rebaseна странице, чтобы увидеть, что вы делаете с другими, прежде чем выполнять принудительное обновление.

2 голосов
/ 12 сентября 2010

Если вы хотите удалить (не вернуть, удалить) последний коммит с новыми файлами, я думаю, вам следует сделать:

git reset --soft "HEAD^"

В любом случае, поскольку вы уже отправили его в github, вы не сможете удалить его, не создав заново git-репо. Вот как это работает, вы можете отменить каждый коммит, например, коммит, где вы удалили эти 2 больших файла. Поскольку это новое репо, а вы говорите о первоначальном коммите, воссоздание репо выглядит для меня лучшей идеей.

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