Following scripts can reproduce the problem: in the final line, foo.txt is generated in bare foo.git # 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 .. cd foo && git push && cd .. ls foo.git branches config description *foo.txt* HEAD hooks index info objects ORIG_HEAD refs -- Ping Yin - 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