| 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 |