Apaguei acidentalmente todos os arquivos internos do repositório on-line do GitHub - o diretório agora está vazio, mas ainda existe - MAIS o repositório também foi removido da máquina local
Normalmente, um clone do GitHub seria usado para obter repo na máquina, git revert etc para a versão online, mas isso não funcionará por razões óbvias
Como se reverte para a versão anterior do projeto (se compromete com a atual) nesta situação?
por favor ajude!
Respostas:
3 para resposta № 1NÃO ENTRE EM PÂNICO! várias maneiras de desfazer confirmações e envios no Git.
Primeiro, clone o repositório. Ele fará o download do histórico completo do projeto.
Em seguida, você pode reverter a confirmação usando git revert HEAD
. Isso adicionará um novo commit para desfazer o último. Em seguida, simplesmente empurre esse commit normalmente. Essa é a coisa mais simples a se fazer, mas deixa um comprometimento ruim na história.
Sua outra opção é desfazer o commit. Isso pode ser feito movendo o branch master de volta para um commit. Mover ramificações arbitrariamente é feito com git reset
. git reset --hard HEAD^
. HEAD^
é o commit antes do atual. --hard
diz para agir como checkout e fazer seu diretório de trabalho corresponder HEAD^
. eu tenho git reset --hard HEAD^
alias para undo
. Em seguida, empurre o commit, mas você terá que usar git push --force
porque você não está adicionando em cima do commit existente.
É por isso que é um mau hábito empurrar após cada confirmação. É muito mais fácil desfazer alterações que não foram enviadas.