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