DEV Community

ダニエリ for WoMakersCode

Posted on • Edited on

4

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

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

Image of Docusign

Bring your solution into Docusign. Reach over 1.6M customers.

Docusign is now extensible. Overcome challenges with disconnected products and inaccessible data by bringing your solutions into Docusign and publishing to 1.6M customers in the App Center.

Learn more

Top comments (0)

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

👋 Kindness is contagious

Explore a sea of insights with this enlightening post, highly esteemed within the nurturing DEV Community. Coders of all stripes are invited to participate and contribute to our shared knowledge.

Expressing gratitude with a simple "thank you" can make a big impact. Leave your thanks in the comments!

On DEV, exchanging ideas smooths our way and strengthens our community bonds. Found this useful? A quick note of thanks to the author can mean a lot.

Okay