On Mon, Dec 31, 2007 at 02:42:42PM +0800, Ping Yin wrote: > Following scripts can reproduce the problem: in the final line, > foo.txt is generated in bare foo.git No, your script is wrong. > # create bare foo.git and its clone foo > mkdir foo > cd foo && echo foo>foo.txt && > git init && git add . && git commit -m 'create project foo' && cd .. > cd foo && echo foo1>foo.txt && git commit -a -m "update foo.txt" && cd .. > git clone --bare foo foo.git && rm -rf foo > git clone foo.git foo > > # reset bare and then push > cd foo.git && git reset --hard HEAD^ && cd .. Try looking in foo.git after this step. The "--hard" to git-reset is creating the file foo.txt. --hard makes no sense in a bare repository (I thought we were disallowing it, but apparently not). -Peff - 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