I have a Windows box which has taken it into it’s head to delete most of a Git repository (must have tripped the Important Work Detector ;). All I have left (that I can find) is the objects. I’m not sure how complete the collection of objects is, either. Is it possible to recover things from just the objects? As far as I can tell, the object tree is intact. All the packs and loose objects are in place; I just don’t have the metadata to convince Git.
Share
The first thing that I would try is to initialize a new repository with
git init. Then I’d copy the objects directory from the dead repository into the new repository. Then I’d rungit fsckin the new repository.With some luck you’ll see a whole lot of dangling objects and with a bit more luck some of the dangling objects will be commit objects which will be the tips of lost branches.
If you run
git showand/orgit logon these commits you may be able to recognize some of the branches.To “recover” them you can just use
git branchto recreate named branches.