# git reset > Desfaz os commits ou as alterações nào preparadas, redefinindo o Git HEAD atual para o estado especificado. > Se um caminho é passado, funcionará como "não preparado"; se um hash de commit ou uma branch é passado, funcionará como "sem commit". > Mais informações: . - Remove tudo da preparação: `git reset` - Remove arquivo(s) específico(s) da preparação: `git reset {{caminho/para/arquivo1 caminho/para/arquivo2 ...}}` - Interativamente remove partes de um arquivo da preparação: `git reset --patch {{caminho/para/arquivo}}` - Desfaz o último commit, mantendo suas alterações (e quaisquer outras alteração não confirmadas) no sistema de arquivos: `git reset HEAD~` - Desfaz os últimos dois commits, adicionando suas alterações na área de preparação, isso é, preparando-os para o commit: `git reset --soft HEAD~2` - Descarta quaisquer alterações sem commit, preparadas ou não (para apenas alterações não preparadas, use o `git checkout`): `git reset --hard` - Redefine o repositório para um determinado commit, descartando as alterações com commit, preparadas e sem commit desde então: `git reset --hard {{commit}}`