Manage reflog information


Show the reflog for HEAD

$ git reflog

Show the reflog for a given branch

$ git reflog [branch_name]

Show only the 5 latest entries in the reflog

$ git reflog -n [5]


gitreflog <subcommand> <options>


The command takes various subcommands, and different options depending on the subcommand:
.RS 4
gitreflog [ show ][log -options] [<ref>] gitreflog expire [ --expire=<time>] [ --expire -unreachable=<time>] [ --rewrite] [ --updateref] [ --stale -fix] [ --dry -run | -n] [ --verbose] [ --all [ --single -worktree] | <refs> ...] gitreflog delete [ --rewrite] [ --updateref] [ --dry -run | -n] [ --verbose] ref@{specifier} ... gitreflog exists <ref> .RE

Reference logs, or "reflogs", record when the tips of branches and other references were updated in the local repository . Reflogs are 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 in this local repository", and so on . See gitrevisions (7)for more details .
This command manages the information recorded in the reflogs .
The "show" subcommand (which is also the default, in the absence of any subcommands) shows the log of the reference provided in the command -line (or HEAD ,by default) . The reflog covers all recent actions, and in addition the HEAD reflog records branch switching . gitreflog show is an alias for gitlog -g --abbrev -commit --pretty=oneline ;see git-log (1)for more information .
The "expire" subcommand prunes 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 end users instead, see git-gc (1).
The "delete" subcommand deletes single entries from the reflog . Its argument must be an exact entry (e .g . " gitreflog delete master@{2} "). This subcommand is also typically not used directly by end users .
The "exists" subcommand checks whether a ref has a reflog . It exits with zero status if the reflog exists, and non -zero status if it does not .


"Options for show "

gitreflog show accepts any of the options accepted by gitlog .

"Options for expire "

--all Process the reflogs of all references .

--single -worktree By default when --all is specified, reflogs from all working trees are processed . This option limits the processing to reflogs from the current working tree only .

--expire=<time> Prune entries older than the specified time . If this option is not specified, the expiration time is taken from the configuration setting gc.reflogExpire ,which in turn defaults to 90 days . --expire=all prunes entries regardless of their age; --expire=never turns off pruning of reachable entries (but see --expire -unreachable ).

--expire -unreachable=<time> Prune entries older than <time> that are not reachable from the current tip of the branch . If this option is not specified, the expiration time is taken from the configuration setting gc.reflogExpireUnreachable ,which in turn defaults to 30 days . --expire -unreachable=all prunes unreachable entries regardless of their age; --expire -unreachable=never turns off early pruning of unreachable entries (but see --expire ).

--updateref Update the reference to the value of the top reflog entry (i .e . <ref>@{0}) if the previous top entry was pruned . (This option is ignored for symbolic references .)

--rewrite If a reflog entry predecessor is pruned, adjust its "old" SHA -1 to be equal to the "new" SHA -1 field of the entry that now precedes it .

--stale -fix Prune any reflog entries that point to "broken commits" . A broken commit is a commit that is not reachable from any of the reference tips and that refers, directly or indirectly, to a missing commit, tree, or blob object .
This computation involves traversing all the reachable objects, i .e . it has the same cost as gitprune . It is primarily intended to fix corruption caused by garbage collecting using older versions of Git, which didn protect objects referred to by reflogs .

-n, --dry -run Do not actually prune any entries; just show what would have been pruned .

--verbose Print extra information on screen .

"Options for delete "

gitreflog delete accepts options --updateref , --rewrite , -n , --dry -run ,and --verbose ,with the same meanings as when they are used with expire .


Part of the git (1)suite

Copied to clipboard
free 100$ digital ocean credit