git revert
git
Uso
git revert [-n] <commit>Desfaz um commit acrescentando outro commit contrário; não apaga o histórico, ao contrário do reset que move o ponteiro, então o que já foi enviado se desfaz com revert.
Opções comuns
| Opção | Significado |
|---|---|
| -n | stage the inverse change without committing |
| -m <parent> | which side to keep when reverting a merge commit |
| --no-edit | accept the generated message |
| --continue | finish after resolving conflicts |
| --abort | cancel and go back |
Exemplos
git revert a1b2c3dadds a new commit that undoes that one
git revert --no-edit HEADundoes the last commit without opening an editor
git revert -m 1 <merge-commit>undoes a merge, keeping the first parent
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 revert faz?
Desfaz um commit acrescentando outro commit contrário; não apaga o histórico, ao contrário do reset que move o ponteiro, então o que já foi enviado se desfaz com revert.
Q. Como se digita?
git revert [-n] <commit> — 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-revert