Início·Comandos de terminal

git restore

git

Uso

git restore [--staged] [-s <commit>] <pathspec>

O comando do git 2.23 para devolver o conteúdo de um arquivo; por padrão sobrescreve o arquivo e as edições não commitadas somem, enquanto --staged só tira da área de preparação.

Opções comuns

OpçãoSignificado
--stagedunstage the file but keep your edits
--worktreereset the file on disk; this is the default
--staged --worktreeboth: throw the edits away and unstage
-s <commit>take the content from that commit instead of the index
-pchoose hunk by hunk

Exemplos

git restore src/app.ts

wipes uncommitted edits to that file, with no way back

git restore --staged src/app.ts

takes it out of the staging area, edits intact

git restore -s HEAD~2 src/app.ts

brings back the version from two commits ago

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

Q. O que git restore faz?

O comando do git 2.23 para devolver o conteúdo de um arquivo; por padrão sobrescreve o arquivo e as edições não commitadas somem, enquanto --staged só tira da área de preparação.

Q. Como se digita?

git restore [--staged] [-s <commit>] <pathspec> — os colchetes marcam o que você pode omitir.

Q. Quantas opções vale a pena saber?

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

Comandos relacionados

página man: man git-restore