Início·Comandos de terminal

git rev-parse

git

Uso

git rev-parse [--short] <rev>

Converte um nome como HEAD ou v1.2.0^ em um hash real e diz onde está o repositório; scripts pegam o nome do branch com --abbrev-ref HEAD, e fora de um repositório ele termina com erro.

Opções comuns

OpçãoSignificado
--short[=<n>]abbreviate the hash
--abbrev-ref HEADprint the current branch name
--show-toplevelprint the root of the working tree
--git-dirprint the path of the .git directory
--is-inside-work-treetrue or false, for scripts
--verify <rev>fail loudly if the name does not resolve

Exemplos

git rev-parse --short HEAD

the short hash a build should stamp itself with

git rev-parse --abbrev-ref HEAD

the branch name, for a CI script

git rev-parse --show-toplevel

the repository root, wherever you are inside it

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 rev-parse faz?

Converte um nome como HEAD ou v1.2.0^ em um hash real e diz onde está o repositório; scripts pegam o nome do branch com --abbrev-ref HEAD, e fora de um repositório ele termina com erro.

Q. Como se digita?

git rev-parse [--short] <rev> — os colchetes marcam o que você pode omitir.

Q. Quantas 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-rev-parse