Subject: Re: No working tree repository

From: "Wesley J. Landaker" <[email-masked]>
Date: Tue, 15 Jun 2010 14:41:34 -0600

On Tuesday, June 15, 2010 12:33:32 Phillip Susi wrote:
> Ahh, that's the magic word I was groping for.
> 
> It seems that --bare on clone will prevent the checkout of the local
> working tree.  If I decide I do want the sources today I can just check
> them out, but what is the proper way to do the reverse?  I was thinking
> something like somehow empty the index file then do a git-reset or
> git-checkout-index to clean up the working tree to match the empty
> index, but I can't figure out how to empty the index.

I often want to have a regular tree, but only sometimes check it out, and I 
want it to be in-place (e.g. not a bare repository and a separate work-
tree).

What I do is I make a local "empty" branch with no files or ancestory. For 
this I have a "git-emptybranch" script (attached), but you can easily do 
this by hand.

Then when I want files, I do:

$ git checkout master  ## or whatever branch

When I'm done, I do

$ git checkout empty

and all the files go away.

Even with empty checked out, I can fetch, push, run gitk --all, etc.

This works well for me.