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

.git and retrieving full source tree for own project(s)

From
Aarmencho@gmail.com <armencho@gmail.com>
Date
Sep 4, 2009, 19:52 UTC
Message-ID
<981b72360909041252i29551a5chb8b3a2a5c6444ee3@mail.gmail.com>
Hi all,

I just started with git and suprisingly or unsurprisingly everything works, and I love it. I had been working on a software project, and i ran "git init" in its source tree, which created the ".git". I added all files with "git add ." and first-time committed them all using "git commit -a -m "Imported project files". I also did couple three commits after that and well, everything works.

What I am wondering about is, what is gits identity for a repository? I don't share or publish the source directory anywhere, and just for testing I removed everything but the ".git" directory and tried "git checkout" and "git checkout master". To my surprise, the files in repository did NOT reappear, contrary to what I thought. Doesn't checkout update/recreate the project file tree according to the "trunk" snapshot?

Now, I did all this just out of curiosity, but to my understanding everything that is needed for working with the project is stored in ".git", right? Even if all project files mysteriously disappear, "git checkout" should bring the copy of master branch back, no? If not, what is the way to tell git I want full copy of a snapshot?

Next: Junio C Hamano
Message 1 of 3 in “.git and retrieving full source tree for own project(s)”
  1. armencho@gmail.comSep 4, 2009
  2. Junio C HamanoSep 4, 2009
  3. armencho@gmail.comSep 4, 2009

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.