13. Descartando mudanças no stage (antes do commit)

Metas

  • Aprender como desfazer mudanças que já estão no stage.

01 Edite o arquivo e adicione as mudanças ao stage

Faça mudanças ao arquivo hello.html na forma de um comentário indesejado.

Arquivo: hello.html

<html>
  <head>
    <!-- This is an unwanted but staged comment -->
  </head>
  <body>
    <h1>Hello, World!</h1>
  </body>
</html>

Adicione o arquivo modificado ao stage.

Execute

git add hello.html

02 Verifique o status

Verifique o status da mudança indesejada.

Execute

git status

Resultado

$ git status
On branch main
Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
	modified:   hello.html

O status mostra que a mudança está no stage e pronta para um commit;

03 Restaurar o índice

O comando restore com o sinalizador --staged limpa a área de preparação.

Execute

git restore --staged hello.html

Resultado

$ git restore --staged hello.html

O comando restore com a opção --staged não altera o diretório de trabalho. Portanto, o diretório de trabalho ainda contém comentários indesejados. No entanto, você deve ter cuidado, pois o comando restore sem o sinalizador --staged também eliminará as alterações no diretório de trabalho.

04 Mudar para o estado do último commit

Vamos restaurar nossa árvore de trabalho para o estado do último commit.

Execute

git restore hello.html
git status

Resultado

$ git restore hello.html
$ git status
On branch main
nothing to commit, working tree clean

Nosso diretório de trabalho está limpo novamente.