Qual é a maneira mais simples de clonar um repositório vazio, * bare * gi
Acabei de cruzar os resultados de pesquisa do Google que contêm todas as reclamações por e-mail sobre o quão estúpido é que o git não pode clonar um repositório vazio. Alguma alma gentil até enviou um patch. Até que o git seja atualizado, qual é o método mais simples e direto de clonar um vazio, bare repositório git?
A solução ideal apoiará o-o
para atribuir ao repositório remoto um nome diferente deorigin
, e será implementável como um script de shell simples, por exemplo,git-clone-empty-repo
.
(Por que eu quero fazer isso: configurei um repositório git vazio e vazio no nosso arquivador NetApp, onde será feito backup, mas quero trabalhar com um clone no disco rígido local e pressionar e puxar para trás e Outras pessoas com quem trabalho farão o mesmo. Crio muito novos repositórios git e minha incapacidade de clonar um repositório vazio me deixa louco.)
EDITA: A discussão de VonC sugere que
$ git-init
$ git-remote add origin server:/pub/git/test.git
é equivalente à clonagem do repositório remoto quando o repositório está vazio. Não é exatamente isso que eu quero, porque eu sempre uso o-o
opção com clone git; Nomeio o repositório remoto de acordo com a máquina em que ele está ou com algum outro critério memorável. (Tenho muitos repositórios para mantê-los em ordem, se todos forem chamadosorigin
.)
EDITA: A seguinte resposta será marcada como aceita: -)
Para clonar um repositório vazio e vazio emcaminh,
Keep at~/git/onefile
um repositório Git não-nua contendo um arquivo inócuo, como.gitignore
. (Como alternativa, crie esse repositório dinamicamente.)(cd ~/git/onefile; git push
caminh master)
git clone -o
nom caminhEm outras palavras, não tente clonar o repositório vazio, mas, depois de criá-lo, envie um repositório simples contendo um arquivo inócuo. Então ele não está mais vazio e pode ser clonado.
Se alguém não me derrotar, publicarei um script de shell.