Merge branch 'pw/p4-various-fixes'
[git] / Documentation / git-lost-found.txt
1 git-lost-found(1)
2 =================
3
4 NAME
5 ----
6 git-lost-found - Recover lost refs that luckily have not yet been pruned
7
8 SYNOPSIS
9 --------
10 [verse]
11 'git lost-found'
12
13 DESCRIPTION
14 -----------
15
16 *NOTE*: this command is deprecated.  Use linkgit:git-fsck[1] with
17 the option '--lost-found' instead.
18
19 Finds dangling commits and tags from the object database, and
20 creates refs to them in the .git/lost-found/ directory.  Commits and
21 tags that dereference to commits are stored in .git/lost-found/commit,
22 and other objects are stored in .git/lost-found/other.
23
24
25 OUTPUT
26 ------
27 Prints to standard output the object names and one-line descriptions
28 of any commits or tags found.
29
30 EXAMPLE
31 -------
32
33 Suppose you run 'git tag -f' and mistype the tag to overwrite.
34 The ref to your tag is overwritten, but until you run 'git
35 prune', the tag itself is still there.
36
37 ------------
38 $ git lost-found
39 [1ef2b196d909eed523d4f3c9bf54b78cdd6843c6] GIT 0.99.9c
40 ...
41 ------------
42
43 Also you can use gitk to browse how any tags found relate to each
44 other.
45
46 ------------
47 $ gitk $(cd .git/lost-found/commit && echo ??*)
48 ------------
49
50 After making sure you know which the object is the tag you are looking
51 for, you can reconnect it to your regular `refs` hierarchy by using
52 the `update-ref` command.
53
54 ------------
55 $ git cat-file -t 1ef2b196
56 tag
57 $ git cat-file tag 1ef2b196
58 object fa41bbce8e38c67a218415de6cfa510c7e50032a
59 type commit
60 tag v0.99.9c
61 tagger Junio C Hamano <junkio@cox.net> 1131059594 -0800
62
63 GIT 0.99.9c
64
65 This contains the following changes from the "master" branch, since
66 ...
67 $ git update-ref refs/tags/not-lost-anymore 1ef2b196
68 $ git rev-parse not-lost-anymore
69 1ef2b196d909eed523d4f3c9bf54b78cdd6843c6
70 ------------
71
72 GIT
73 ---
74 Part of the linkgit:git[1] suite