3
respostas

erro ao voltar para a master

voltei para um commit antigo e fiz algumas mudanças somente para teste e não tenho interesse em comitar essas alterações. Acontece que quando tento voltar para a branch master aparece esse erro:

$ git checkout master
error: Your local changes to the following files would be overwritten by checkout:
(diretório)
Please commit your changes or stash them before you switch branches.
Aborting

Alguém me ajuda a como voltar para a master sem salvar as alterações? Obrigado!

3 respostas

Olá, Ley. Você precisa desfazer essas alterações antes de alterar o branch. Existem algumas formas de fazer dependendo da sua versão do git. Nessa aula aqui a gente falou sobreo git checkout -- nome-do-arquivo-ou-pasta. Essa é uma opção. Outra opção que é ensinada aqui é utilizar git restore nome-do-arquivo-ou-pasta.

havia encontrado uma solução no stack overflow que dizia pra usar o comando git reset --hard. Não sei se é correto mas funcionou pra mim

Ley, o git reset reescreve a história dos seus commits, então deve ser evitado ao máximo! E usar --hard ou --force é sempre muito perigoso se não souber o que está fazendo. Aqui tem uma explicação da diferença entre restore, revert e reset:

https://stephencharlesweiss.com/git-restore-reset-revert

Como o artigo tem pouco mais de 1 ano, ele diz que o restore é experimental. Hoje em dia não é mais. ;-)