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

Re: GIT_WORK_TREE environment variable not working

From
Jeff King <peff@peff.net>
Date
Feb 1, 2010, 05:19 UTC
Message-ID
<20100201051942.GA7761@coredump.intra.peff.net>
In-Reply-To
<ron1-8E7697.17334731012010@news.gmane.org>
On Sun, Jan 31, 2010 at 05:33:47PM -0800, Ron Garret wrote:
Show 19 quoted lines
> What am I doing wrong here?
> 
> [ron@mickey:~/devel/gittest]$ pwd
> /Users/ron/devel/gittest
> [ron@mickey:~/devel/gittest]$ git status
> # On branch master
> # Untracked files:
> #   (use "git add <file>..." to include in what will be committed)
> #
> #  git/
> nothing added to commit but untracked files present (use "git add" to 
> track)
> [ron@mickey:~/devel/gittest]$ cd
> [ron@mickey:~]$ export GIT_WORK_TREE=/Users/ron/devel/gittest
> [ron@mickey:~]$ git status
> fatal: Not a git repository (or any of the parent directories): .git
> [ron@mickey:~]$ git status --work-tree=/Users/ron/devel/gittest
> fatal: Not a git repository (or any of the parent directories): .git
> [ron@mickey:~]$

You haven't told git where to find the repository itself. GIT_WORK_TREE is about saying "here are my work tree files", but it is explicitly not about "here is where my .git directory is". That lets you keep the two in totally separate locations. E.g., you could do something like tracking /etc, but keep your .git directory in /var.

For your case above, you would want to also
  export GIT_DIR=/Users/ron/devel/gittest/.git

though since you have a fully formed repository, I don't think there is really any advantage over just doing:

  cd /Users/ron/devel/gittest && git $whatever

though perhaps that is because this is not a real use case, but rather just you trying to figure out the feature. :)

-Peff
Previous: Ron GarretNext: Ron Garret
Message 2 of 3 in “GIT_WORK_TREE environment variable not working”
  1. Ron GarretFeb 1, 2010
  2. Jeff KingFeb 1, 2010
  3. Ron GarretFeb 1, 2010

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.