Como posso me livrar de todas as alterações em todos os arquivos do meu repositório?
Digamos que eu esteja em um galho e fiz algumas alterações. git status
retorna um conjunto de arquivos em "Alterações não faseadas para confirmação" e percebo que gostaria de me livrar de todas essas alterações em todos os arquivos. Como posso fazer isso com um único comando?
Sei que posso fazer o seguinte para efetuar o checkout de apenas um arquivo:
git checkout -- <file>
Percebi que git checkout --
sozinho retorna a lista de todos os arquivos não enviados. No entanto, não consigo encontrar uma maneira de fazer check-out de todos eles, algo assim git checkout --all
.
Eu verifiquei man git checkout
e não consegui encontrar nada. Também vi o Git: verifique todos os arquivos, exceto um, e tentei git checkout .
e também não funcionou.
Eu precisaria fazer isso programaticamente, percorrendo a git checkout --
saída?
fonte
git checkout -- .
, redefinirá apenas as alterações para o estado do índice. Portanto, se você já adicionou arquivos ao índice, é para isso que ele será redefinido. Por outro ladogit reset --hard
, também jogará fora o índice. Por exemplo, se você tiver arquivos não rastreados adicionados ao índice (para começar a rastreá-los), eles também serão removidos.git checkout
também permite restaurar apenas o diretório de trabalho parcialmente, passando um caminho mais específico que pode ser muito útil.git checkout --force
,git reset --hard
Outra maneira que eu achei útil é:
Exemplo:
De forma geral:
fonte
git checkout \*
ougit checkout '*'
.