Git clone / puxe pela rede local [closed]

12

Estou tentando clonar / extrair um repositório em outro PC usando o Ubuntu Quantal. Eu fiz isso no Windows antes, mas eu não sei qual é o problema no Ubuntu. Eu tentei estes:

git clone file:////pc-name/repo/repository.git
git clone file:////192.168.100.18/repo/repository.git
git clone file:////user:pass@pc-name/repo/repository.git
git clone smb://c-pc/repo/repository.git
git clone //192.168.100.18/repo/repository.git

Sempre recebi:

Cloning into 'intranet'...
fatal: '//c-pc/repo/repository.git' does not appear to be a git repository
fatal: The remote end hung up unexpectedly

ou

fatal: repository '//192.168.100.18/repo/repository.git' does not exist

Mais:

  • O outro PC tem nome de usuário e senha
  • Não é problema de rede, posso acessar e pingar.
  • Acabei de instalar o git fazendo apt-get install git (dependências instaladas)
  • Estou executando o git do terminal (não estou usando o git-shell)

O que está causando isso e como corrigir isso? Qualquer ajuda seria ótima!

UPDATE

Eu clonei o repo no Windows usando git clone //192.168.100.18/repo/intranet.git sem problemas. Então, o repo está acessível e existe! Talvez o problema seja devido a credenciais do usuário?

    
por Tomás Ramírez 07.01.2013 / 21:49

3 respostas

20

Depende de como você configurou seu servidor para veicular conteúdo.

Se mais de ssh:

git clone [email protected]:repo/repository.git

ou se um servidor da Web estiver fornecendo o conteúdo (http ou https)

https://[email protected]/repo/repository.git

ou se estiver disponível através de um caminho de arquivo:

git clone file://path/to/repo

ou se o servidor estiver executando o daemon git:

git clone git://192.168.100.18/repo
    
por 07.01.2013 / 21:59
12

O manual para git-clone diz:

Git natively supports ssh, git, http, https, ftp, ftps, and rsync protocols

Observe que o SMB não está na lista.

Ao executar git no Windows, a sintaxe //host/path funciona porque o SO é compatível nativamente - os caminhos remotos SMB podem ser usados em qualquer lugar que um caminho local possa ser usado. Esse não é o caso no unix, em que o SMB é uma coisa estranha, e // é equivalente a / no algoritmo de resolução do nome do caminho.

monte o sistema de arquivos remoto, então você terá a capacidade de se referir a ele com um nome de caminho no estilo unix que git (e todas as outras ferramentas no sistema) entenda.

Para informações sobre a montagem de smbfs: link

    
por 07.01.2014 / 06:07
3

Esse problema parece ser semelhante a link . Talvez o compartilhamento administrativo ajude a aliviar o problema (por exemplo, // nome do pc / c $ / caminho / para / repo)

    
por 08.01.2013 / 00:02