[GIT] Reflog - Aula 12
Reflog
Reference Log é uma ferramenta poderosa que mantém um histórico de todas as mudanças feitas aos ponteiros das Branchs locais, ele registra todas as alterações que você fez no repositório local, mesmo aquelas que não são facilmente visíveis por outros comandos como git log
.
Como ver o Reflog
Para ver o seu Reference Log basta:
git reflog
Isso mostrará uma lista de todas as ações recentes no repositório local, com Hashs de Commit, datas e mensagens descritivas.
Recuperando Commit
Checkout
git checkout hash_do_commit
Isso coloca você no estado do commit específico, mas você estará em um estado Detached HEAD, o que significa que você não está em nenhuma Branch.
Reset
git reset --hard hash_do_commit
Isso moverá o HEAD
e a Branch atual para o Commit especificado, descartando todas as mudanças feitas depois daquele Commit.
git reset --soft hash_do_commit
Isso trará o conteúdo do Commit perdido para sua Staging Area.
Cherry Pick
git cherry-pick hash_do_commit
Isso cria um novo Commit na Branch atual com as alterações feitas no Commit especificado.
Cat-File
git cat-file -p hash_do_commit
Isso é útil quando você deseja inspecionar os detalhes de um Commit sem fazer Checkout ou Reset para ele.
O -p
(Pretty-Print) formata a saída de forma legível, mostrando as informações do commit, como a mensagem, autor e Tree associada.
Merge
git merge HEAD@{n}
Isso iria mesclar o estado do HEAD
naquele ponto específico com o estado atual da Branch em que você está.
HEAD@{n}
: Refere-se ao estado do HEAD
no passado, onde n
é o índice da entrada no reflog
.
Essa abordagem pode ser muito útil em cenários complexos de recuperação ou quando você quer combinar partes do histórico do seu projeto.