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

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

From
Junio C Hamano <gitster@pobox.com>
Date
Sep 4, 2009, 20:04 UTC
Message-ID
<7viqfyfpdc.fsf@alter.siamese.dyndns.org>
In-Reply-To
<981b72360909041252i29551a5chb8b3a2a5c6444ee3@mail.gmail.com>
"armencho@gmail.com" <armencho@gmail.com> writes:
> 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".

"git checkout" is a short-hand for "git checkout HEAD" which is to request "switch to the branch denoted by HEAD, i.e. the current branch, while keeping my local changes to the work tree and the index".

"git checkout master" is a request to "switch to the master branch, while keeping my local changes to the work tree and the index".

In this case, your "delete everything" is your local change, and git did its best to preserve it while switching branches.

If you want to "copy this and that files and directories out of the commit at the tip of the current branch and deposit them in my work tree and index", you would say

    $ git checkout HEAD this that

so a request for checking everything out would be a natural extension of the above that would be:

    $ git checkout HEAD .

If you want to "copy this and that files and directories out of the index and deposit them in my work tree", you would say

    $ git checkout this that
Previous: armencho@gmail.comNext: armencho@gmail.com
Message 2 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.