Início·Comandos de terminal
Publicidade

Garanta seu bônus em uma corretora de cripto

Bônus que você recebe só por se cadastrar. As condições são as que cada corretora anuncia.

git reset

git

Uso

git reset [--soft|--mixed|--hard] <commit> | git reset <path>

Move o ponteiro do branch para outro commit: --soft mantém tudo preparado, --mixed (padrão) também limpa a área de preparação mas deixa suas edições nos arquivos, e --hard descarta essas edições junto, sem volta.

Opções comuns

OpçãoSignificado
--softmove the branch only; index and files keep everything, so the change stays staged
--mixeddefault: also clear the staging area, leaving edits in your files
--hardalso overwrite your files; uncommitted work is destroyed
<path>no commit given: unstage that path
--keepmove but refuse if it would overwrite a local change
--mergelike --hard but keeps changes that do not collide

Exemplos

git reset --soft HEAD~1

undoes the last commit and leaves everything staged

git reset HEAD~1

undoes the last commit; the changes sit in your files, unstaged

git reset src/app.ts

unstages one file without changing it

git reset --hard origin/main

throws away local commits AND uncommitted edits

O confuso é que desfazer tem várias formas: mover para onde um branch aponta não é o mesmo que criar um commit que reverte.

Como ler

  • Os colchetes [ ] marcam uma parte que você pode omitir.
  • As reticências … indicam que você pode listar vários.
  • As opções diferenciam maiúsculas: em alguns comandos -r e -R fazem coisas diferentes.

Perguntas

QO que git reset faz?

Move o ponteiro do branch para outro commit: --soft mantém tudo preparado, --mixed (padrão) também limpa a área de preparação mas deixa suas edições nos arquivos, e --hard descarta essas edições junto, sem volta.

QComo se digita?

git reset [--soft|--mixed|--hard] <commit> | git reset <path> — os colchetes marcam o que você pode omitir.

QQuantas opções vale a pena saber?

Aqui estão 6; a lista completa está em man git. Este comando fica em git.

Comandos relacionados

página man: man git-reset