138 lines
		
	
	
	
		
			4.5 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			138 lines
		
	
	
	
		
			4.5 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
git-reflog(1)
 | 
						|
=============
 | 
						|
 | 
						|
NAME
 | 
						|
----
 | 
						|
git-reflog - Manage reflog information
 | 
						|
 | 
						|
 | 
						|
SYNOPSIS
 | 
						|
--------
 | 
						|
[verse]
 | 
						|
'git reflog' <subcommand> <options>
 | 
						|
 | 
						|
DESCRIPTION
 | 
						|
-----------
 | 
						|
The command takes various subcommands, and different options
 | 
						|
depending on the subcommand:
 | 
						|
 | 
						|
[verse]
 | 
						|
'git reflog' ['show'] [log-options] [<ref>]
 | 
						|
'git reflog expire' [--expire=<time>] [--expire-unreachable=<time>]
 | 
						|
	[--rewrite] [--updateref] [--stale-fix]
 | 
						|
	[--dry-run | -n] [--verbose] [--all [--single-worktree] | <refs>...]
 | 
						|
'git reflog delete' [--rewrite] [--updateref]
 | 
						|
	[--dry-run | -n] [--verbose] ref@\{specifier\}...
 | 
						|
'git reflog exists' <ref>
 | 
						|
 | 
						|
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
 | 
						|
linkgit: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.
 | 
						|
`git reflog show` is an alias for `git log -g --abbrev-commit
 | 
						|
--pretty=oneline`; see linkgit: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
 | 
						|
linkgit:git-gc[1].
 | 
						|
 | 
						|
The "delete" subcommand deletes single entries from the reflog. 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 "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
 | 
						|
-------
 | 
						|
 | 
						|
Options for `show`
 | 
						|
~~~~~~~~~~~~~~~~~~
 | 
						|
 | 
						|
`git reflog show` accepts any of the options accepted by `git log`.
 | 
						|
 | 
						|
 | 
						|
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's 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 'git prune'.  It is primarily intended to fix
 | 
						|
corruption caused by garbage collecting using older versions of Git,
 | 
						|
which didn't 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`
 | 
						|
~~~~~~~~~~~~~~~~~~~~
 | 
						|
 | 
						|
`git reflog delete` accepts options `--updateref`, `--rewrite`, `-n`,
 | 
						|
`--dry-run`, and `--verbose`, with the same meanings as when they are
 | 
						|
used with `expire`.
 | 
						|
 | 
						|
 | 
						|
GIT
 | 
						|
---
 | 
						|
Part of the linkgit:git[1] suite
 |