git-lost-found(1)
=================

NAME
----
git-lost-found - Recover lost refs that luckily have not yet been pruned

SYNOPSIS
--------
[verse]
'git lost-found'

DESCRIPTION
-----------

*NOTE*: this command is deprecated.  Use linkgit:git-fsck[1] with
the option '--lost-found' instead.

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.


OUTPUT
------
Prints to standard output the object names and one-line descriptions
of any commits or tags found.

EXAMPLE
-------

Suppose you run 'git tag -f' and mistype the tag to overwrite.
The ref to your tag is overwritten, but until you run 'git
prune', the tag itself is still there.

------------
$ git lost-found
[1ef2b196d909eed523d4f3c9bf54b78cdd6843c6] GIT 0.99.9c
...
------------

Also you can use gitk to browse how any tags found relate to each
other.

------------
$ gitk $(cd .git/lost-found/commit && echo ??*)
------------

After making sure you know which the object is the tag you are looking
for, you can reconnect it to your regular `refs` hierarchy by using
the `update-ref` command.

------------
$ 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
------------

GIT
---
Part of the linkgit:git[1] suite
