[Git] Removendo Arquivos de um Repositório

Neste post iremos mostrar como deletar arquivos de um repositório definitivamente e também como apagar arquivos que já tenham sido adicionados à área de stage.

Para remover um arquivo no diretório de working(um arquivo que faz parte do commit mais recente), basta executar o comando rm do Git e commitar a remoção. Por exemplo, se quisermos excluir o arquivo file.txt e commitar essa alteração do repositório poderíamos executar os comandos:

$ git rm file.txt
Mudanças a serem submetidas:
deleted: file.txt
$ git commit -m "file.txt removido"

Note que o comando git rm remove o arquivo do diretório, como a ferramenta rm do GNU/Linux, e já adiciona a alteração à área de stage, pronta para ser submetida.

Uma situação bastante comum ao criarmos um repositório é esquecer de listar determinado tipo de arquivo ou diretório no .gitignore e sem querer adicioná-los à área de stage. Se tentarmos executar o comando git rm em um arquivo na área de stage, teremos o seguinte resultado:

error: the following file has changes staged in the index:
file.txt
(use --cached to keep the file, or -f to force removal)

Como o Git nos avisa, quando um arquivo é alterado e adicionado à área de stage, precisamos usar o comando rm com a opção cached para removê-lo.

$ git rm --cached file.txt

É importante observar que o comando git rm só altera as áreas de stage e de working, em outras palavras, arquivos que estejam sendo monitorados pelo Git. Portanto, arquivos que não tenham sido adicionados com o comando add permanecerão intactos. Para removê-los, podemos utilizar utilitários do próprio sistema(como o rm) ou a interface gráfica.

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.