Às vezes, adicionamos acidentalmente um arquivo ao teste ou o enviamos para o git repo. Vamos ver como podemos removê-lo nesta dica.
Antes de prosseguir com a dica, vamos revisitar os estados em que o arquivo pode existir,
Não rastreado – quando você cria o arquivo pela primeira vez, ele vai para esta área
Staged / index – quando você usa o
git add
comando no arquivo, ele vai nesta áreaConfirmado – quando você usa
git commit
no arquivo, ele vai para esta áreaModificado – o arquivo foi confirmado, mas possui as mudanças locais que ainda não foram confirmadas ou testadas.
Remover da área de preparação
Para remover do teste, podemos usar o seguinte comando-
git rm --cached <file_name>
Aqui, estamos usando o rm
comando junto com switch --cached
que indica o arquivo a ser removido da área de teste ou cache.
Por exemplo, podemos usar o seguinte comando-
git rm --cached unwanted_file.txt
Remover um único arquivo da área comprometida
Nota: Neste, presume-se que você está fazendo no último commit local e não no commit que é enviado para o repositório remoto.
Remover o arquivo da área confirmada requer 3 comandos para serem executados, eles são os seguintes-
git reset --soft HEAD^1
Acima irá desfazer o último commit. se você fizer git status
isso, verá os arquivos na área de teste. Agora, podemos removê-lo facilmente da área de teste, como mencionado no ponto anterior.
git rm --cached <file-name>
Ao executar o comando acima, o arquivo aparecerá na seção de arquivos não rastreados.
Agora, removemos o único arquivo, vamos confirmar os arquivos restantes-
git commit -m "<your-message>"