Como posso desfazer todas as alterações feitas no meu diretório após a última confirmação, incluindo excluir arquivos adicionados, redefinir arquivos modificados e adicionar novamente arquivos excluídos?
git
git-commit
git-reset
git-revert
Dogbert
fonte
fonte
Respostas:
Redefina primeiro as alterações
depois limpe tudo não rastreado. Se você deseja manter os arquivos que não são rastreados
.gitignore
, tenha cuidado com este comando.fonte
-x
opçãogit clean
, que o direciona para remover arquivos ignorados também.git clean -fd
comandogit clean -fd
que não exclui arquivos ignorados.-x
vai.git clean -fd
excluirá essas pastas e arquivos não rastreados. Testado com a versão 1.9.1 do gitVocê pode desfazer alterações nos arquivos rastreados com:
Você pode remover arquivos não rastreados com:
Você pode remover arquivos e diretórios não rastreados com:
mas você não pode desfazer a alteração para arquivos não rastreados .
Você pode remover arquivos e diretórios ignorados e não rastreados
mas você não pode desfazer a alteração para arquivos ignorados .
Você também pode definir
clean.requireForce
parafalse
:para evitar usar
-f
(--force
) quando você usagit clean
.fonte
Existem dois comandos que funcionarão nessa situação,
root> git reset --hard HEAD ~ 1
root> git push -f
Para mais comandos git, consulte esta página
fonte
git push -f
não está relacionado à pergunta e, nesse cenário, é perigoso