From: in-git-vger@baka.org Date: Wed, 31 Aug 2011 16:21:13 GMT Subject: Re: need to create new repository initially seeded with several branches Message-ID: <201108311621.p7VGLDlm015261@no.baka.org> In-Reply-To: In message , Ryan Wexler writes: > # Cause git to delete all files in the internal index > git read-tree --reset -i 4b825dc642cb6eb9a060e54bf8d69288fbee4904 > # Cause git to delete all files in the working directory > git clean -dfx > The only "magic" is the read-tree/git-clean stuff.  The 4b82… > value is the SHA of an empty tree.  It could be replaced by > a: > > find . -maxdepth 1 ! -name '.git' -a ! -name '..' -a ! -name '.' -print0 | xargs -0 rm -rf I have to say that I am lost by the "magic" you describe. I don't understand what you mean by the 4b82... value should be replaced by the find | xargs remove all command. That command looks like it just deletes all the "." file names? But when you say replace I thought you would mean I need to generate a new value to replace that magic number?? Confused... I was just trying to explain what the git-read-tree and git-clean commands are doing. The long string starting with 4b825d is a special SHA that git knows represents an empty tree. I was saying that you *could* (not should) replace the two commands (git-read-tree and git-clean) with the "find | xargs rm" command I quoted. The two sets of commands are equivalent. Also, if you look at the find command, I am finding everything *except* the .git . and .. directories -Seth Robertson