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

Metas

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

01 Acessando o branch Master

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

Execute:

git checkout master

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 master
# Changes not staged for commit:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <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
$ git status
# On branch master
nothing to commit (working directory 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.