Perdeu arquivos no Git sem commit? Veja como recuperar pelo VS Code

O Git é o sistema de controle de versão de código mais utilizado no mercado. Normalmente, nós programadores apenas arranhamos a superfície do que essa ferramenta é capaz de fazer. No dia a dia, acabamos utilizando apenas comandos básicos como pull, commit, merge e push.

No entanto, o Git é uma ferramenta poderosa e também complexa. A sua utilização incorreta pode resultar em problemas sérios, como a perda de código que ainda não havia sido commitado no repositório. Se isso já aconteceu com você, provavelmente bateu aquele desespero ao pensar que todo o tempo investido naquele código foi perdido.

Se você utiliza o VSCode — um dos editores de código mais populares entre programadores — eu tenho uma ótima notícia: na maioria dos casos, o seu código não foi perdido.

Neste artigo, vou te mostrar como utilizar uma funcionalidade nativa do Visual Studio Code para recuperar arquivos perdidos, mesmo sem um commit no Git.

A funcionalidade que vamos utilizar se chama Local History, e ela foi adicionada oficialmente ao VSCode na versão 1.66, lançada em março de 2022.

A solução

O Local History mantém um histórico local das alterações feitas nos arquivos editados pelo VSCode, permitindo que você volte no tempo e restaure versões anteriores do código.

Para recuperar um arquivo perdido, siga os passos abaixo:

  1. Pressione F1
  2. Pesquise pela opção “Local History: Find Entry to Restore”
  3. Após selecionar a funcionalidade, procure pelo nome do arquivo que você perdeu
  4. O VSCode exibirá todas as versões salvas desse arquivo, juntamente com os horários das alterações
  5. Escolha a versão desejada e clique para restaurar o código

Pronto! Seu arquivo será recuperado exatamente como estava naquele momento.

Pontos importantes sobre o Local History

Antes de sair confiando cegamente nessa funcionalidade, é importante entender algumas limitações:

  • O Local History é armazenado apenas localmente, ou seja, se você formatar o computador ou apagar os dados do VSCode, esse histórico será perdido
  • Ele não substitui o Git e não deve ser usado como estratégia de versionamento
  • O histórico tem um limite de tempo e espaço, então versões muito antigas podem ser descartadas automaticamente
  • Funciona apenas para arquivos que foram abertos e editados no VSCode

Boas práticas para evitar perdas de código

Mesmo com essa funcionalidade disponível, o ideal é evitar esse tipo de problema no dia a dia. Algumas boas práticas ajudam bastante:

  • Faça commits pequenos e frequentes
  • Utilize branches para testes e experimentações
  • Evite trabalhar por longos períodos sem versionar suas alterações
  • Sempre revise o que será descartado antes de executar comandos destrutivos no Git

Conclusão

O VSCode é um editor de código extremamente poderoso. Ele possui tantas funcionalidades e atalhos que é praticamente impossível conhecer tudo o que a ferramenta oferece. O Local History é uma dessas funcionalidades pouco conhecidas.

Se este artigo te ajudou a recuperar um código perdido, considere compartilhá-lo com outros devs. Pode salvar o projeto (e a sanidade) de alguém 😄