Documentation / git-reflog.txton commit Merge branch 'ml/worktree' (96c4815)
   1git-reflog(1)
   2=============
   3
   4NAME
   5----
   6git-reflog - Manage reflog information
   7
   8
   9SYNOPSIS
  10--------
  11'git reflog' <subcommand> <options>
  12
  13DESCRIPTION
  14-----------
  15The command takes various subcommands, and different options
  16depending on the subcommand:
  17
  18[verse]
  19git reflog expire [--dry-run] [--stale-fix]
  20        [--expire=<time>] [--expire-unreachable=<time>] [--all] <refs>...
  21
  22git reflog [show] [log-options]
  23
  24Reflog is a mechanism to record when the tip of branches are
  25updated.  This command is to manage the information recorded in it.
  26
  27The subcommand "expire" is used to prune older reflog entries.
  28Entries older than `expire` time, or entries older than
  29`expire-unreachable` time and are not reachable from the current
  30tip, are removed from the reflog.  This is typically not used
  31directly by the end users -- instead, see gitlink:git-gc[1].
  32
  33The subcommand "show" (which is also the default, in the absense of any
  34subcommands) will take all the normal log options, and show the log of
  35the current branch. It is basically an alias for 'git log -g --abbrev-commit
  36--pretty=oneline', see gitlink:git-log[1].
  37
  38
  39OPTIONS
  40-------
  41
  42--stale-fix::
  43        This revamps the logic -- the definition of "broken commit"
  44        becomes: a commit that is not reachable from any of the refs and
  45        there is a missing object among the commit, tree, or blob
  46        objects reachable from it that is not reachable from any of the
  47        refs.
  48+
  49This computation involves traversing all the reachable objects, i.e. it
  50has the same cost as 'git prune'.  Fortunately, once this is run, we
  51should not have to ever worry about missing objects, because the current
  52prune and pack-objects know about reflogs and protect objects referred by
  53them.
  54
  55--expire=<time>::
  56        Entries older than this time are pruned.  Without the
  57        option it is taken from configuration `gc.reflogExpire`,
  58        which in turn defaults to 90 days.
  59
  60--expire-unreachable=<time>::
  61        Entries older than this time and are not reachable from
  62        the current tip of the branch are pruned.  Without the
  63        option it is taken from configuration
  64        `gc.reflogExpireUnreachable`, which in turn defaults to
  65        30 days.
  66
  67--all::
  68        Instead of listing <refs> explicitly, prune all refs.
  69
  70Author
  71------
  72Written by Junio C Hamano <junkio@cox.net>
  73
  74Documentation
  75--------------
  76Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>.
  77
  78GIT
  79---
  80Part of the gitlink:git[7] suite