In message <CAKjsY4nsPNO_kvxeime8qcNrRFykgG2TOYxJ0HKbj2zR5Rwv+Q@xxxxxxxxxxxxxx>, 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 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html