[Tutorial Git] git rm/reset: Removendo arquivos do index (staging area)

ダニエリ - Feb 22 '20 - - Dev Community

Remoção antes do primeiro commit

Temos no nosso diretório que está sendo monitorado pelo Git os seguintes arquivos:

arquivos monitorados

No fluxo do git, temos:

arquivos no index

Como podemos ver, ainda não temos commits.

Vamos criar e adicionar ao index um terceiro arquivo:

criando e adicionando terceiro arquivo

Observando o fluxo do Git:

novo arquivo no index

Vamos supor que adicionamos esse arquivo estilo2.css sem querer. Não era o que queríamos. Então devemos tirá-lo do index. Observe que o próprio terminal nos dá uma dica de como fazê-lo:

retorno do git status

Esse é exatamente o comando que vamos utilizar aqui.

$ git rm --cached estilo2.css
Enter fullscreen mode Exit fullscreen mode
  • $ indica que você deve usar o usuário comum para fazer essa operação.

Utilizando o comando

git status

, temos:

arquivo retirado do index

No fluxo do Git, temos:

arquivo removido do index

Para retirar todos os arquivos, podemos usar o comando

$ git rm --cached -r *
Enter fullscreen mode Exit fullscreen mode
  • -r de recursivo, ou seja, inclui subdiretórios, se houver.

  • *, asterisco; todos os arquivos.

Remoção após o primeiro commit

Caso não seja o primeiro commit e você precise excluir um arquivo do index, utilize o comando:

$ git reset HEAD <arquivo>
Enter fullscreen mode Exit fullscreen mode
  • reset; redefinir.

  • HEAD é um ponteiro que normalmente aponta para o último commit.

  • digite o nome do arquivo sem os sinais < >.

O que esse comando faz é uma cópia do head para o index; retirando o arquivo que estava no index antes.

No nosso exemplo,

index a partir do segundo commit

fluxo antes da remoção do arquivo do index

Usando o comando

$ git reset HEAD estilo2.css
Enter fullscreen mode Exit fullscreen mode

depois do reset HEAD

Para retirar do index todos os arquivos, digite:

$ git reset HEAD .
Enter fullscreen mode Exit fullscreen mode
  • ponto é o diretório atual. Isso quer dizer que ele vai incluir todos os arquivos e subdiretórios que estão no index.

Exemplo:

Adicionando dois arquivos ao index.

criando dois arquivos e adicionando ao index

Mostrando os três arquivos que estão agora no index.

mais de um arquivo no index

Retirando todos os arquivos que estão no index.

reset head em mais de um arquivos

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .