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.
96 lines
3.1 KiB
96 lines
3.1 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 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:gitrevisions[7] 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. |
|
|
|
GIT |
|
--- |
|
Part of the linkgit:git[1] suite
|
|
|