|  | git-reflog(1) | 
|  | ============= | 
|  |  | 
|  | NAME | 
|  | ---- | 
|  | git-reflog - Manage reflog information | 
|  |  | 
|  |  | 
|  | SYNOPSIS | 
|  | -------- | 
|  | 'git reflog' <subcommand> <options> | 
|  |  | 
|  | DESCRIPTION | 
|  | ----------- | 
|  | The command takes various subcommands, and different options | 
|  | depending on the subcommand: | 
|  |  | 
|  | [verse] | 
|  | 'git reflog expire' [--dry-run] [--stale-fix] [--verbose] | 
|  | [--expire=<time>] [--expire-unreachable=<time>] [--all] <refs>... | 
|  | + | 
|  | 'git reflog delete' ref@\{specifier\}... | 
|  | + | 
|  | 'git reflog' ['show'] [log-options] [<ref>] | 
|  |  | 
|  | Reflog is a mechanism to record when the tip of branches are | 
|  | updated.  This command is to manage the information recorded in it. | 
|  |  | 
|  | The subcommand "expire" is used to prune older reflog entries. | 
|  | Entries older than `expire` time, or entries older than | 
|  | `expire-unreachable` time and not reachable from the current | 
|  | tip, are removed from the reflog.  This is typically not used | 
|  | directly by the end users -- instead, see linkgit:git-gc[1]. | 
|  |  | 
|  | The subcommand "show" (which is also the default, in the absence of any | 
|  | subcommands) will take all the normal log options, and show the log of | 
|  | the reference provided in the command-line (or `HEAD`, by default). | 
|  | The reflog will cover all recent actions (HEAD reflog records branch switching | 
|  | as well).  It is an alias for `git log -g --abbrev-commit --pretty=oneline`; | 
|  | see linkgit:git-log[1]. | 
|  |  | 
|  | The reflog is useful in various git commands, to specify the old value | 
|  | of a reference. For example, `HEAD@\{2\}` means "where HEAD used to be | 
|  | two moves ago", `master@\{one.week.ago\}` means "where master used to | 
|  | point to one week ago", and so on. See linkgit:git-rev-parse[1] for | 
|  | more details. | 
|  |  | 
|  | To delete single entries from the reflog, use the subcommand "delete" | 
|  | and specify the _exact_ entry (e.g. "`git reflog delete master@\{2\}`"). | 
|  |  | 
|  |  | 
|  | OPTIONS | 
|  | ------- | 
|  |  | 
|  | --stale-fix:: | 
|  | This revamps the logic -- the definition of "broken commit" | 
|  | becomes: a commit that is not reachable from any of the refs and | 
|  | there is a missing object among the commit, tree, or blob | 
|  | objects reachable from it that is not reachable from any of the | 
|  | refs. | 
|  | + | 
|  | This computation involves traversing all the reachable objects, i.e. it | 
|  | has the same cost as 'git-prune'.  Fortunately, once this is run, we | 
|  | should not have to ever worry about missing objects, because the current | 
|  | prune and pack-objects know about reflogs and protect objects referred by | 
|  | them. | 
|  |  | 
|  | --expire=<time>:: | 
|  | Entries older than this time are pruned.  Without the | 
|  | option it is taken from configuration `gc.reflogExpire`, | 
|  | which in turn defaults to 90 days. | 
|  |  | 
|  | --expire-unreachable=<time>:: | 
|  | Entries older than this time and not reachable from | 
|  | the current tip of the branch are pruned.  Without the | 
|  | option it is taken from configuration | 
|  | `gc.reflogExpireUnreachable`, which in turn defaults to | 
|  | 30 days. | 
|  |  | 
|  | --all:: | 
|  | Instead of listing <refs> explicitly, prune all refs. | 
|  |  | 
|  | --updateref:: | 
|  | Update the ref with the sha1 of the top reflog entry (i.e. | 
|  | <ref>@\{0\}) after expiring or deleting. | 
|  |  | 
|  | --rewrite:: | 
|  | While expiring or deleting, adjust each reflog entry to ensure | 
|  | that the `old` sha1 field points to the `new` sha1 field of the | 
|  | previous entry. | 
|  |  | 
|  | --verbose:: | 
|  | Print extra information on screen. | 
|  |  | 
|  | Author | 
|  | ------ | 
|  | Written by Junio C Hamano <gitster@pobox.com> | 
|  |  | 
|  | Documentation | 
|  | -------------- | 
|  | Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>. | 
|  |  | 
|  | GIT | 
|  | --- | 
|  | Part of the linkgit:git[1] suite |