git-lost-found.1   [plain text]


'\" t
.\"     Title: git-lost-found
.\"    Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\"      Date: 06/01/2011
.\"    Manual: Git Manual
.\"    Source: Git 1.7.5.4
.\"  Language: English
.\"
.TH "GIT\-LOST\-FOUND" "1" "06/01/2011" "Git 1\&.7\&.5\&.4" "Git Manual"
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
git-lost-found \- Recover lost refs that luckily have not yet been pruned
.SH "SYNOPSIS"
.sp
\fIgit lost\-found\fR
.SH "DESCRIPTION"
.sp
\fBNOTE\fR: this command is deprecated\&. Use \fBgit-fsck\fR(1) with the option \fI\-\-lost\-found\fR instead\&.
.sp
Finds dangling commits and tags from the object database, and creates refs to them in the \&.git/lost\-found/ directory\&. Commits and tags that dereference to commits are stored in \&.git/lost\-found/commit, and other objects are stored in \&.git/lost\-found/other\&.
.SH "OUTPUT"
.sp
Prints to standard output the object names and one\-line descriptions of any commits or tags found\&.
.SH "EXAMPLE"
.sp
Suppose you run \fIgit tag \-f\fR and mistype the tag to overwrite\&. The ref to your tag is overwritten, but until you run \fIgit prune\fR, the tag itself is still there\&.
.sp
.if n \{\
.RS 4
.\}
.nf
$ git lost\-found
[1ef2b196d909eed523d4f3c9bf54b78cdd6843c6] GIT 0\&.99\&.9c
\&.\&.\&.
.fi
.if n \{\
.RE
.\}
.sp
.sp
Also you can use gitk to browse how any tags found relate to each other\&.
.sp
.if n \{\
.RS 4
.\}
.nf
$ gitk $(cd \&.git/lost\-found/commit && echo ??*)
.fi
.if n \{\
.RE
.\}
.sp
.sp
After making sure you know which the object is the tag you are looking for, you can reconnect it to your regular \&.git/refs hierarchy\&.
.sp
.if n \{\
.RS 4
.\}
.nf
$ git cat\-file \-t 1ef2b196
tag
$ git cat\-file tag 1ef2b196
object fa41bbce8e38c67a218415de6cfa510c7e50032a
type commit
tag v0\&.99\&.9c
tagger Junio C Hamano <junkio@cox\&.net> 1131059594 \-0800

GIT 0\&.99\&.9c

This contains the following changes from the "master" branch, since
\&.\&.\&.
$ git update\-ref refs/tags/not\-lost\-anymore 1ef2b196
$ git rev\-parse not\-lost\-anymore
1ef2b196d909eed523d4f3c9bf54b78cdd6843c6
.fi
.if n \{\
.RE
.\}
.sp
.SH "GIT"
.sp
Part of the \fBgit\fR(1) suite