git archive fatal: operação não suportada pelo protocolo

8

Eu posso fazer git clone como assim ...

 git clone https://github.com/stackforge/puppet-heat.git

... sem problemas. Mas eu quero excluir todas as coisas meta meta que vem com a clonagem, então eu pensei em usar git archive mas eu recebo este erro:

$ git archive --remote=https://github.com/stackforge/puppet-heat.git 
fatal: Operation not supported by protocol.

Alguém sabe por que ou o que estou fazendo errado?

    
por Red Cricket 10.06.2014 / 23:15

4 respostas

4

Eu simplesmente executaria o git clone como você descreveu e, em seguida, excluiria os diretórios .git que estão dispersos em todo o diretório clonado.

$  find puppet-heat/ -name '.git' -exec rm -fr {} +
    
por 11.06.2014 / 00:09
6

Você pode usar o suporte ao svn do github:

svn export https://github.com/user/project/trunk

Mais detalhes aqui:

link

    
por 13.10.2014 / 13:57
1

git archive ainda é o caminho certo a seguir:

git clone link cd puppet-heat git archive

A razão pela qual sua abordagem não funciona é - obviamente - que o github não suporta (ou não) o arquivamento remoto. Isso significaria que o arquivo é realmente criado como um arquivo no servidor github que é então enviado.

Então, basta clonar o repositório e executar o arquivo git no seu clone.

    
por 06.04.2017 / 15:04
1

FYI eu acertei o mesmo erro com o bitbucket. Eu mudei protocolos de https para ssh e funcionou.

por exemplo:

git archive [email protected]/stackforge/puppet-heat.git 

É claro que você precisa configurar as chaves pública / privada para que isso funcione.

Ouvi dizer que o github não suporta o remoting, mas para outros com esse problema, o problema acima resolveu para mim, pelo menos.

Como nosso repo é enorme, clonar não é realmente uma opção se apenas quisermos fazer o equivalente a uma exportação de svn.

    
por 17.10.2017 / 22:13

Tags