Descartando alterações no stage
Agora, suponha que decidimos dar destaque ao nosso Hello, World!. Vamos deixá-lo com cara de título!
Para isso, que tal envolver o conteúdo do hello.html nas tags <head>? O resultado deve ficar assim:
<head>Hello, World!</head>Envolva o conteúdo do hello.html nas tags <head> </head> e adicione as alterações ao stage.
Só um segundo... Eu disse tags <head> </head>? Ah, desculpe, é claro que eu quis dizer as tags <h1> </h1>! Só que as alterações já foram adicionadas ao stage.
Antes de qualquer coisa, vamos rodar rapidinho um git status para ver o que está acontecendo.
DICA SUPERÚTIL: você pode usar as setas e do teclado para navegar pelo histórico de comandos no terminal. É um ótimo jeito de evitar digitar tudo de novo.
Execute o comando git status para verificar o status do repositório.
Você deve ver algo assim:
On branch main
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: hello.html
Vamos seguir o conselho do comando e tirar as alterações do stage, usando o comando git restore com a opção extra --staged.
Execute o comando git restore --staged . para limpar o stage.
Vamos verificar o status de novo.
Execute o comando git status para verificar o status do repositório.
A saída deve ficar assim:
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")
Surpresa! As alterações ainda estão lá! Mas pelo menos não estão mais no stage para o commit.
Para descartá-las de vez, podemos executar o comando git restore sem nenhuma opção (como fizemos no passo anterior do curso).
Execute git restore . para limpar o diretório de trabalho.
Vamos verificar o status de novo.
Execute o comando git status para verificar o status do repositório.
A saída deve ficar assim:
On branch main
nothing to commit, working tree clean
E pronto! As alterações foram descartadas e o diretório de trabalho está limpo de novo.
Na verdade, poderíamos ter restaurado o diretório de trabalho a um estado limpo de uma vez só. O comando git restore funciona em dois modos: o modo padrão --worktree, que restaura o diretório de trabalho, e o modo --staged, que restaura a staging area. Poderíamos ter usado as duas opções ao mesmo tempo para restaurar tanto a staging area quanto o diretório de trabalho, assim: git restore --staged --worktree ..
Faça o curso do jeito que ele foi pensado: progressão em pequenas doses, ordem linear e focada, desbloqueio gradual das entradas da Gitopedia. Continue com o Git de verdade no VS Code/Cursor/Antigravity/Windsurf a qualquer momento.
mas precisa de login