GNU/Linux |
Debian 6.0.8(Squeeze) |
|
![]() |
git-lost-found(1) |
![]() |
git-lost-found − Recover lost refs that luckily have not yet been pruned
git lost−found
NOTE: this command is deprecated. Use 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.
Prints to standard output the object names and one−line descriptions of any commits or tags found.
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 .git/refs hierarchy.
$ 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
Written by Junio C Hamano <gitster@pobox.com [1] >
Documentation by Junio C Hamano and the git−list <git@vger.kernel.org [2] >.
Part of the git(1) suite
1. |
gitster@pobox.com |
mailto:gitster@pobox.com
2. |
git@vger.kernel.org |
mailto:git@vger.kernel.org
![]() |
git-lost-found(1) | ![]() |