Pular para o conteúdo principal

Uma postagem marcadas com "git-como-recuperar-um-stash-perdido"

Ver todas os Marcadores

· Leitura de 2 minutos
Willian Luis Zuqui

1. Encontre o stash

git log --graph --oneline --decorate $(git fsck --no-reflog | awk '/dangling commit/ {print $3}')

Isso mostrará todos os commits nas pontas do seu gráfico de commit que não são mais referenciados por nenhum branch ou tag – cada commit perdido, incluindo cada stash commit que você já criou, estará em algum lugar desse gráfico

2. Depois de saber o hash do commit desejado, você pode aplicá-lo como um stash

git stash apply SEU_WIP_COMMIT_HASH_AQUI

Nota: A mensagem de commit só estará neste formato (começando com "WIP on") se você não forneceu uma mensagem quando fez git stash.

Fonte: Veja a resposta completa em https://stackoverflow.com/a/91795/2510591

3. Se o seu stash commit não estiver listado ou você não o encontrar (opcional)

Se o seu stash já foi aplicado, mas você não o vê, por exemplo, após resolver um conflito ou reiniciar. Siga esses passos:

  • Execute bash git fsck --no-reflog | awk '/dangling commit/ {print $3}'
  • Escolha um hash de commit stash e use git show COMMIT_HASH para examinar o stash commit diff de suas alterações.
  • Depois de encontrar suas alterações, basta usar o commit correspondente das alterações do seu stash e aplicá-lo usando git stash apply COMMIT_HASH.