Fiz alterações em alguns dos meus arquivos no repositório local e, em seguida, fiz o git add -A
que acho que adicionou muitos arquivos à área de preparação. Como posso excluir todos os arquivos da área de preparação?
Depois de fazer isso, vou fazer manualmente git add "filename"
.
git status
já diz exatamente o que fazer se você quiser desestabilizar arquivos.git add -p
ougit add --patch
são iguais). Esse sinalizador permite selecionar interativamente quais arquivos ou alterações individuais você deseja preparar - você poderá obter uma granulação muito mais fina com o trabalho que você incluir no commit.Respostas:
Você pode desestabilizar arquivos do índice usando
Assim como
git add
, você pode descompactar arquivos recursivamente por diretório e assim por diante; portanto, para descompactar tudo de uma só vez, execute isso no diretório raiz do seu repositório:Além disso, para referência futura, a saída de
git status
informará os comandos que você precisa executar para mover arquivos de um estado para outro.fonte
$ git reset HEAD -- .
produzidofatal: Failed to resolve 'HEAD' as a valid ref.
Note que eu nunca fiz nenhum commit; é o primeirogit add
depoisgit init
git reset @
.git reset
?@
é sinônimo deHEAD
.Usar
para desestabilizar todos os arquivos em etapas.
fonte
git reset HEAD --
ou é simplesmente uma maneira mais sucinta de executar a mesma operação?HEAD
por padrão. Qual é o propósito daqueles--
em seugit reset HEAD --
?git reset HEAD -- .
é diferente, pois apenas redefine arquivos no diretório atual e abaixo, enquantogit reset
redefine todos os arquivos no projeto.Se você já cometeu um monte de arquivos indesejados, pode desestabilizá-los e pedir ao git para marcá-los como excluídos (sem realmente excluí-los)
--cached
diz para remover os caminhos da preparação e do índice sem remover os próprios arquivos e-r
opera nos diretórios recursivamente. Você pode, então,git add
qualquer arquivo que deseja acompanhar.fonte
rm
desestabilizar todos os arquivos.--cached
é realmente parar de rastrear arquivos que você já confirmou. Portanto, o arquivo não é realmente excluído, mas o git pensa que é. Eu esclareci isso na minha resposta.Você poderia usar
depois adicione os arquivos específicos que você deseja com
fonte
git status
você dirá o diretório de trabalho limpo - mentiras!git clean -df
fez esse trabalho, obrigado.git clean -df
excluirá os arquivos permanentemente. Em sistemas do tipo UNIX, ele será chamadounlink()
e seus arquivos excluídos não serão recuperáveis.Como observado em outras respostas, você deve usar
git reset
. Isso desfará a ação dogit add -A
.Nota:
git reset
é equivalente aogit reset --mixed
qual issofonte
git reset filenameToNotCommit
Agora, na v2.24.0, sugere
para descompactar arquivos.
fonte
Você pode redefinir a área de preparação de algumas maneiras:
Redefina o HEAD e adicione todos os arquivos necessários para fazer o check-in novamente, como abaixo:
fonte
Para remover todos os arquivos da área de armazenamento temporário, use -
git reset
Para remover o arquivo específico, use -
git reset "File path"
fonte
usar
Isso removerá todos os arquivos da área de preparação
fonte
Se arquivos indesejados foram adicionados à área de preparação, mas ainda não foram confirmados, uma redefinição simples fará o trabalho:
Para remover apenas alterações não faseadas no diretório de trabalho atual, use:
fonte
Use "
git reset HEAD <file>...
" para descompactar arquivosex: para desestabilizar todos os arquivos
desestabilizar um arquivo
fonte
Eu tentei todos esses métodos, mas nenhum funcionou para mim. Tirei arquivo .git usando
rm -rf .git
forma o repositório local e, em seguida, novamente fezgit init
egit add
e comandos de rotina. Funcionou.fonte
A melhor maneira de desfazer seu arquivo, que já existe na área de teste, é git reset --hard, que recupera seus arquivos. Cuidado agora, isso removerá as mudanças em etapas e em etapas.
fonte
--hard
exclui para sempre.