A resposta é que todos os arquivos são armazenados no diretório objects/pack
como arquivos hash quando estão no repositório nulo. Você não pode obter diretamente os arquivos de lá.
Se alguém por acaso estava tentando fazer o que eu fiz e ter um conjunto de arquivos no servidor que são gerenciáveis pelo git (por exemplo, um servidor web), então você precisa fazer isso:
Faça um clone do repositório onde você quer que os arquivos estejam acessíveis (certifique-se de que o git possa escrever nele, especialmente o diretório .git)
mkdir /path/to/clone/repo
chmod -R 0775 /path/to/clone/repo
cd /path/to/clone/repo
git clone /path/to/bare/repo.git
Crie um novo gancho de pós-atualização no repositório bare contendo as seguintes linhas:
vi /path/to/bare/repo.git/hooks/post-update
#!/bin/sh
# Update the real-file cloned repository
unset GIT_DIR
cd /path/to/cloned/repo
git fetch
git reset --hard
Certifique-se de que é executável
chmod a+x /path/to/bare/repo.git/hooks/post-update
Envie um commit para o repositório nu e observe as linhas que começam com remote:
para ver se algum erro ocorreu.