12. Descartando mudanças locais (antes do stage)

Metas

  • Aprender como descartar mudanças no repositório de trabalho.

01 Acessando o branch main

Verifique que você esta no último commit do branch main antes de continuar.

Execute

git switch main

02 Mude o hello.html

Acontece de você modificar o arquivo no seu diretório de trabalho local e às vezes querer descartar as mudanças que você fez commit. É aqui que o comando checkout vai te ajudar.

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

Arquivo: hello.html

<html>
  <head>
  </head>
  <body>
    <h1>Hello, World!</h1>
    <!-- This is a bad comment. We want to revert it. -->
  </body>
</html>

03 Confira o status

Primeiro de tudo, confira o status do repositório de trabalho.

Execute

git status

Resultado

$ git status
On branch main
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
	modified:   hello.html

no changes added to commit (use "git add" and/or "git commit -a")

Nós vemos que o arquivo hello.html foi modificado, mas ainda não está no stage.

04 Desfazendo as mudanças no diretório de trabalho

Use o comando checkout para remover a versão do arquivo hello.html que está no repositório.

Execute

git checkout hello.html
git status
cat hello.html

Resultado

$ git checkout hello.html
Updated 1 path from the index
$ git status
On branch main
nothing to commit, working tree clean
$ cat hello.html
<html>
  <head>
  </head>
  <body>
    <h1>Hello, World!</h1>
  </body>
</html>

O comando status mostra que não existem mudanças que não estão no stage no repositório de trabalho. E o "comentário ruim" não está mais no arquivo.