You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
133 lines
4.3 KiB
133 lines
4.3 KiB
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] [--verbose] [--all | <refs>...] |
|
'git reflog delete' [--rewrite] [--updateref] |
|
[--dry-run] [--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. |
|
|
|
--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
|
|
|