git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Recovering Folder from Git Restored Repo

From
Jeff King <peff@peff.net>
Date
Aug 1, 2016, 21:18 UTC
Message-ID
<20160801211824.cmjhpvdlohla7cbk@sigill.intra.peff.net>
In-Reply-To
<84080bca-af5f-b957-460a-0a4a81f383e7@bellsouth.net>
On Mon, Aug 01, 2016 at 04:58:47PM -0400, Dennis Putnam wrote:
Show 7 quoted lines
> I am in a bit of a pickle. I deleted a remote repo that had a folder
> that I belatedly realized I need. The deleted repo exists on a backup
> which I restored. How do I extract the needed folder from that restored
> repo. Not being a git expert I'm not sure what to do but I cannot find
> any recognizable sources. This is an 'ls' of the restored repo:
> 
> branches  config  description  HEAD  hooks  info  objects  ref

That's a "bare" repository, which has no matching working tree, just the git data. The simplest thing may be to just clone it; the clone will have a working tree:

  git clone /path/to/restored-repo tmp
  cd tmp
and then you can pick out whatever files you like.

You can also extract the data straight from the bare repository. Try "git ls-tree -r HEAD" to see the complete listing of files (replace HEAD with the name of a specific branch if it was there). You can extract individual files with "git show HEAD:path/to/file". Or you can generate a tar or zip archive of a subtree like:

  git archive --format=zip HEAD:my-subdir >foo.zip
-Peff
Previous: Dennis Putnam
Message 2 of 2 in “Recovering Folder from Git Restored Repo”
  1. Dennis PutnamAug 1, 2016
  2. Jeff KingAug 1, 2016

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.