Setup and Config
Getting and Creating Projects
Basic Snapshotting
Branching and Merging
Sharing and Updating Projects
Inspection and Comparison
Patching
Debugging
External Systems
Server Admin
Guides
- gitattributes
- Command-line interface conventions
- Everyday Git
- Frequently Asked Questions (FAQ)
- Glossary
- Hooks
- gitignore
- gitmodules
- Revisions
- Submodules
- Tutorial
- Workflows
- All guides...
Administration
Plumbing Commands
-
2.50.0
2025-06-16
- 2.45.1 → 2.49.0 no changes
-
2.45.0
2024-04-29
- 2.39.1 → 2.44.3 no changes
-
2.39.0
2022-12-12
- 2.37.4 → 2.38.5 no changes
-
2.37.3
2022-08-30
- 2.35.1 → 2.37.2 no changes
-
2.35.0
2022-01-24
- 2.20.1 → 2.34.8 no changes
-
2.20.0
2018-12-09
- 2.17.0 → 2.19.6 no changes
-
2.16.6
2019-12-06
- 2.7.6 → 2.15.4 no changes
-
2.6.7
2017-05-05
- 2.5.6 no changes
-
2.4.12
2017-05-05
- 2.1.4 → 2.3.10 no changes
-
2.0.5
2014-12-17
RESUMO
git reflog [show] [<log-options>] [<ref>] git reflog list git reflog expire [--expire=<time>] [--expire-unreachable=<time>] [--rewrite] [--updateref] [--stale-fix] [--dry-run | -n] [--verbose] [--all [--single-worktree] | <ref>…] git reflog delete [--rewrite] [--updateref] [--dry-run | -n] [--verbose] <ref>@{<specifier>}… git reflog drop [--all [--single-worktree] | <ref>…] git reflog exists <ref>
DESCRIÇÃO
Este comando gerencia as informações registradas nos "reflogs".
Os registros log de referência ou "reflogs", registram quando o cume dos ramos, assim como, quais as outras referências que foram atualizadas no repositório local. Os "reflogs" são úteis para especificar o valor antigo de uma referência em vários comandos Git. Por exemplo, HEAD@{2}
quer dizer "para onde HEAD costumava estar há dois movimentos atrás", master@{one.week.ago}
quer dizer "para onde o "master" costumava apontar uma semana atrás neste repositório local" e assim por diante. Para mais detalhes consulte gitrevisions[7].
O comando assume vários subcomandos das diferentes opções dependendo do subcomando:
O subcomando show (é a opção predefinida, na falta de qualquer outro subcomando) mostra o registro da referência informada na linha de comando (ou a predefinição HEAD
). O reflog abrange todas as ações recentes e, além disso, o reflog HEAD
registra a troca de ramificações. O comando git reflog show
é um alias para o comando git log -g --abbrev-commit --pretty=oneline
; para mais informações consulte git-log[1].
The "list" subcommand lists all refs which have a corresponding reflog.
O subcomando expire remove as entradas mais antigas do reflog. São removidas do reflog as entradas de tempo mais antigas que expire
ou as entradas de tempo mais antigas que expire-unreachable
que não podem ser acessadas a partir da ponta atual. Normalmente, ele não é usado diretamente pelos usuários finais; em vez disso, consulte git-gc[1].
The "delete" subcommand deletes single entries from the reflog, but not the reflog itself. Its argument must be an exact entry (e.g. "git reflog delete master@{2}
"). This subcommand is also typically not used directly by end users.
The "drop" subcommand completely removes the reflog for the specified references. This is in contrast to "expire" and "delete", both of which can be used to delete reflog entries, but not the reflog itself.
O subcomando exists verifica se uma referência tem um reflog. Ele encerra com uma condição igual a zero se o reflog existir e com uma condição diferente de zero se não existir.
OPÇÕES
Opções para expire
- --all
-
Processe os reflogs de todas as referências.
- --single-worktree
-
É predefinido que quando
--all
seja utilizado, os reflogs de todas as árvores de trabalho sejam processadas. Esta opção limita o processamento da reflogs apenas na árvore de trabalho atual. - --expire=<tempo>
-
Remova os lançamentos mais antigos que o tempo informado. Caso esta opção não seja definida, o tempo da expiração será obtido com a opção de configuração
gc.reflogExpire
, que por sua vez a sua predefinição retorna para 90 dias. A opção--expire=all
remove as entradas independentemente da idade;--expire=never
desativa a remoção dos lançamentos acessíveis (porém consulte--expire-unreachable
). - --expire-unreachable=<tempo>
-
Remova os lançamentos mais antigos que o
<tempo>
que não sejam acessíveis através do cume atual do ramo. Caso esta opção não seja definida, o tempo da expiração será obtido com a opção de configuraçãogc.reflogExpireUnreachable
, que por sua vez a sua predefinição retorna para 90 dias. A opção--expire-unreachable=all
remove as entradas não acessíveis independentemente da sua idade;--expire-unreachable=never
desativa a remoção prévia dos lançamentos não acessíveis (porém consulte--expire
). - --updateref
-
Atualize a referência para o valor da entrada no pico do reflog (ou seja,
<ref>@\{0\}
) se o topo da entrada anterior tiver sido eliminada. (Esta opção é ignorada para referências simbólicas.) - --rewrite
-
Caso o antecessor de uma entrada reflog seja removido, ajuste o seu SHA-1 "antigo" para ser igual ao "novo" campo SHA-1 da entrada que agora o precede.
- --stale-fix
-
Elimine qualquer entradas no reflog que apontem para "commits com problemas". Um commit com problema (broken commit) é um commit que não pode ser acessado por nenhum topo de referência e que se tenha referência, direta ou indiretamente, a um objeto commit, árvore ou bolha ausente.
Esse cálculo envolve a passagem por todos os objetos acessíveis, ou seja, tem o mesmo custo que o comando
git prune
. Seu principal objetivo é corrigir a corrupção causada pela coleta de lixo usando versões mais antigas do Git, que não protegiam os objetos mencionados pelos reflogs. - -n
- --dry-run
-
Na verdade, não faça a poda de nenhuma entrada; apenas exiba o que teria sido podado.
- --verbose
-
Imprima informações extras na tela.
GIT
Parte do conjunto git[1]