Acabei de excluir o ramo errado com algumas alterações experimentais que preciso git branch -D branchName
.
Como recupero a ramificação?
git
branch
git-branch
Stefan Kendall
fonte
fonte
Respostas:
Você pode usar o git reflog para encontrar o SHA1 do último commit da ramificação. A partir desse ponto, você pode recriar uma ramificação usando
Edit: Como o @seagullJS diz, o
branch -D
comando informa o sha1, por isso, se você ainda não fechou o terminal, ele se torna muito fácil. Por exemplo, isso exclui e restaura imediatamente uma ramificação chamadamaster2
:fonte
git branch branchName origin/branchName
Se você conhece o último SHA1 da ramificação, pode tentar
Você pode encontrar o SHA1 usando
git reflog
, descrito na solução aqui .fonte
Se você ainda não enviou a exclusão, pode simplesmente:
fonte
Se você acabou de excluir a ramificação, verá algo parecido com isto em seu terminal:
Para restaurar a ramificação, use:
por exemplo :
fonte
Primeiro: faça backup de todo o diretório, incluindo o diretório .git.
Segundo: você pode usar
git fsck --lost-found
para obter o ID das confirmações perdidas.Terceiro: rebase ou mesclagem no commit perdido.
Quarto: sempre pense duas vezes antes de usar -D ou --force com git :)
Você também pode ler esta boa discussão sobre como se recuperar desse tipo de erro.
EDIT: A propósito, não corra
git gc
(ou permita que ele corra sozinho - ou seja, não corragit fetch
ou algo parecido) ou você poderá perder seus commits para sempre.fonte
Obrigado, isso funcionou.
// pode ver meus arquivos antigos registrados no meu ramo antigo
fonte
Siga esses passos:
1: Digite:
Isso exibirá todo o histórico de confirmação, você precisa selecionar o sha-1 que tem o último commit que você deseja recuperar
2: crie um nome de filial com o ID Sha-1 selecionado, por exemplo: 8c87714
fonte
Isso funcionou para mim:
fonte