Um git clone
simples na raiz do documento não é totalmente preciso. Clonar um repositório GIT exposto não é possível com " mudo " servidores, como uma exposição acidental de .git via HTTP, a menos que git update-server-info
seja executado no servidor. Enquanto alguns dos metadados estão disponíveis, obter o conteúdo do diretório .git/objects
(também conhecido como o material suculento) nem sempre é possível. É possível recuperar objetos que não são packed . Não deve ser o caso com uma cópia / repositório de trabalho em um servidor de produção.
É uma história diferente para uma máquina de desenvolvimento com alterações confirmadas que não são enviadas para um controle remoto. Nesse caso, o coletor de lixo geralmente não é chamado, a menos que você invoque git gc
, portanto, os arquivos ainda não fazem parte dos arquivos de pacote. Você pode recuperar via HTTP os arquivos que estão comprometidos desde o último envio.
update-server-info basicamente cria um mapa dos refs (.git / info / refs) e dos arquivos de pacotes (.git / objects / info / packs). Enquanto .git / refs-embalados pode ser usado para substituir o primeiro, obter os arquivos de pacotes não é possível sem ter o índice do diretório ativado ou realmente forçando o SHA-1 (o que é uma má idéia desde o início).