Por engano, adicionei arquivos usando o comando "git add dir". Ainda não executei o "git commit". Existe uma maneira de remover esse diretório e tudo o que está contido nele do commit?
Eu tentei git reset dir
, mas não funcionou. Aparentemente, git reset file
é o caminho para desfazê-lo. Mas tenho tantos arquivos e tão pouco tempo.
git reset <path>
atualiza o índice para esse caminho para que ele correspondaHEAD
(a confirmação atual). Não toca na árvore de trabalho.Respostas:
Para remover um diretório e tudo o que está dentro dele do índice,
O
--cached
comutadorgit rm
opera apenas no índice e não toca na cópia de trabalho. O-r
interruptor torna recursivo.fonte
--cached
botão em negrito . No entanto, editei a resposta para qualificar que ela se aplica apenas ao índice.git reset HEAD folder
tudo corrigido ... mas antes de fazer isso, faça umgit status folder
e verifique se ele 'excluiu' todos os arquivos dessa pastaVocê vai querer usargit rm --cached -r <dir>
. este comando removerá o conteúdo do diretório em etapas do índice.se o diretório já foi rastreado, você precisa encontrar arquivos novos e antigos manualmente e descompactá-los ...Provavelmente executegit reset <dir>
depois disso para redefinir os arquivos existentes (e já rastreados) dentro do diretório.Atualização 2019:
Simplesmente execute
git reset directory
, ele desestabilizará todos os arquivos adicionados recentemente.fonte
git reset <dir>
sozinho o suficiente?git reset <dir>
também funcionaria. A resposta é de 2011, então não tenho certeza se isso já funcionou há 8 anos. Vou atualizar a resposta. Obrigado pela dica!Use
find
exargs
:fonte
Diretório Unstage
Desestágena todos os arquivos e pastas que eu disponibilizei:
Confirmar diretório sem estágio
Para confirmar a remoção do diretório e seu conteúdo da preparação (por exemplo, "Alterações a serem confirmadas"), execute o seguinte:
ou
para confirmar que nenhuma das pastas ou arquivos previamente preparados ainda está pronta.
fonte
Um comando simples para remover um arquivo / pasta em etapas, que ainda não foi confirmado, é -
git restore --staged <dir>
.fonte