Autogenerated manpages for v2.34.1-8-g35151
[git-manpages.git] / man1 / git-reflog.1
blob8723bfdffbbc63ba4642d7f9f04ea2cbcbcc2072
1 '\" t
2 .\"     Title: git-reflog
3 .\"    Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
4 .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
5 .\"      Date: 11/24/2021
6 .\"    Manual: Git Manual
7 .\"    Source: Git 2.34.1.8.g35151cf072
8 .\"  Language: English
9 .\"
10 .TH "GIT\-REFLOG" "1" "11/24/2021" "Git 2\&.34\&.1\&.8\&.g35151cf0" "Git Manual"
11 .\" -----------------------------------------------------------------
12 .\" * Define some portability stuff
13 .\" -----------------------------------------------------------------
14 .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
15 .\" http://bugs.debian.org/507673
16 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
17 .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
18 .ie \n(.g .ds Aq \(aq
19 .el       .ds Aq '
20 .\" -----------------------------------------------------------------
21 .\" * set default formatting
22 .\" -----------------------------------------------------------------
23 .\" disable hyphenation
24 .nh
25 .\" disable justification (adjust text to left margin only)
26 .ad l
27 .\" -----------------------------------------------------------------
28 .\" * MAIN CONTENT STARTS HERE *
29 .\" -----------------------------------------------------------------
30 .SH "NAME"
31 git-reflog \- Manage reflog information
32 .SH "SYNOPSIS"
33 .sp
34 .nf
35 \fIgit reflog\fR <subcommand> <options>
36 .fi
37 .sp
38 .SH "DESCRIPTION"
39 .sp
40 The command takes various subcommands, and different options depending on the subcommand:
41 .sp
42 .if n \{\
43 .RS 4
44 .\}
45 .nf
46 \fIgit reflog\fR [\fIshow\fR] [log\-options] [<ref>]
47 \fIgit reflog expire\fR [\-\-expire=<time>] [\-\-expire\-unreachable=<time>]
48         [\-\-rewrite] [\-\-updateref] [\-\-stale\-fix]
49         [\-\-dry\-run | \-n] [\-\-verbose] [\-\-all [\-\-single\-worktree] | <refs>\&...]
50 \fIgit reflog delete\fR [\-\-rewrite] [\-\-updateref]
51         [\-\-dry\-run | \-n] [\-\-verbose] ref@{specifier}\&...
52 \fIgit reflog exists\fR <ref>
53 .fi
54 .if n \{\
55 .RE
56 .\}
57 .sp
58 .sp
59 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, \fBHEAD@{2}\fR means "where HEAD used to be two moves ago", \fBmaster@{one\&.week\&.ago}\fR means "where master used to point to one week ago in this local repository", and so on\&. See \fBgitrevisions\fR(7) for more details\&.
60 .sp
61 This command manages the information recorded in the reflogs\&.
62 .sp
63 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 \fBHEAD\fR, by default)\&. The reflog covers all recent actions, and in addition the \fBHEAD\fR reflog records branch switching\&. \fBgit reflog show\fR is an alias for \fBgit log \-g \-\-abbrev\-commit \-\-pretty=oneline\fR; see \fBgit-log\fR(1) for more information\&.
64 .sp
65 The "expire" subcommand prunes older reflog entries\&. Entries older than \fBexpire\fR time, or entries older than \fBexpire\-unreachable\fR time and not reachable from the current tip, are removed from the reflog\&. This is typically not used directly by end users \(em instead, see \fBgit-gc\fR(1)\&.
66 .sp
67 The "delete" subcommand deletes single entries from the reflog\&. Its argument must be an \fIexact\fR entry (e\&.g\&. "\fBgit reflog delete master@{2}\fR")\&. This subcommand is also typically not used directly by end users\&.
68 .sp
69 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\&.
70 .SH "OPTIONS"
71 .SS "Options for \fBshow\fR"
72 .sp
73 \fBgit reflog show\fR accepts any of the options accepted by \fBgit log\fR\&.
74 .SS "Options for \fBexpire\fR"
75 .PP
76 \-\-all
77 .RS 4
78 Process the reflogs of all references\&.
79 .RE
80 .PP
81 \-\-single\-worktree
82 .RS 4
83 By default when
84 \fB\-\-all\fR
85 is specified, reflogs from all working trees are processed\&. This option limits the processing to reflogs from the current working tree only\&.
86 .RE
87 .PP
88 \-\-expire=<time>
89 .RS 4
90 Prune entries older than the specified time\&. If this option is not specified, the expiration time is taken from the configuration setting
91 \fBgc\&.reflogExpire\fR, which in turn defaults to 90 days\&.
92 \fB\-\-expire=all\fR
93 prunes entries regardless of their age;
94 \fB\-\-expire=never\fR
95 turns off pruning of reachable entries (but see
96 \fB\-\-expire\-unreachable\fR)\&.
97 .RE
98 .PP
99 \-\-expire\-unreachable=<time>
100 .RS 4
101 Prune entries older than
102 \fB<time>\fR
103 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
104 \fBgc\&.reflogExpireUnreachable\fR, which in turn defaults to 30 days\&.
105 \fB\-\-expire\-unreachable=all\fR
106 prunes unreachable entries regardless of their age;
107 \fB\-\-expire\-unreachable=never\fR
108 turns off early pruning of unreachable entries (but see
109 \fB\-\-expire\fR)\&.
112 \-\-updateref
113 .RS 4
114 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\&.)
117 \-\-rewrite
118 .RS 4
119 If a reflog entry\(cqs predecessor is pruned, adjust its "old" SHA\-1 to be equal to the "new" SHA\-1 field of the entry that now precedes it\&.
122 \-\-stale\-fix
123 .RS 4
124 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\&.
126 This computation involves traversing all the reachable objects, i\&.e\&. it has the same cost as
127 \fIgit prune\fR\&. It is primarily intended to fix corruption caused by garbage collecting using older versions of Git, which didn\(cqt protect objects referred to by reflogs\&.
130 \-n, \-\-dry\-run
131 .RS 4
132 Do not actually prune any entries; just show what would have been pruned\&.
135 \-\-verbose
136 .RS 4
137 Print extra information on screen\&.
139 .SS "Options for \fBdelete\fR"
141 \fBgit reflog delete\fR accepts options \fB\-\-updateref\fR, \fB\-\-rewrite\fR, \fB\-n\fR, \fB\-\-dry\-run\fR, and \fB\-\-verbose\fR, with the same meanings as when they are used with \fBexpire\fR\&.
142 .SH "GIT"
144 Part of the \fBgit\fR(1) suite