Git clone / pull over local network [fermé]


17

J'essaie de cloner / extraire un référentiel dans un autre PC en utilisant Ubuntu Quantal. J'ai déjà fait cela sur Windows mais je ne sais pas quel est le problème sur Ubuntu. J'ai essayé ces derniers:

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

J'ai toujours eu:

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

Plus:

  • L'autre PC a un nom d'utilisateur et un mot de passe
  • N'est pas un problème de mise en réseau, je peux y accéder et le ping.
  • Je viens d'installer git faisant apt-get install git(dépendances installées)
  • J'utilise git depuis le terminal (je n'utilise pas git-shell)

Qu'est-ce qui cause cela et comment y remédier? Toute aide est la bienvenue!

MISE À JOUR

J'ai cloné le dépôt sur Windows en utilisant git clone //192.168.100.18/repo/intranet.gitsans problème. Ainsi, le repo est accessible et existe! Peut-être que le problème est dû aux informations d'identification de l'utilisateur?


Je ne sais pas vraiment si cette question appartient ici, mais j'ai vu des questions similaires sur SF
Tomás Ramírez

Réponses:


26

Cela dépend de la façon dont votre serveur est configuré pour diffuser du contenu.

Si plus de ssh:

git clone user@192.168.100.18:repo/repository.git

ou si un serveur Web fournit le contenu (http ou https)

https://user@192.168.100.18/repo/repository.git

ou si disponible via un chemin de fichier:

git clone file://path/to/repo

ou si le serveur exécute le démon git:

git clone git://192.168.100.18/repo

3
Sous Windows, je clone en utilisant git clone //192.168.100.18/repo/repository.git, mais je me suis connecté précédemment sur l' 192.168.100.18usinage, alors c'est le file://chemin?
Tomás Ramírez

1
réponse utile, merci! Pour cloner un dépôt situé dans un dossier partagé Windows que j'ai utiliségit clone file://\\\PC1\path-to-repo-dir
Ivan Ferrer Villa

@IvanFerrerVilla presque, le chemin réel est:file:///\\PC1\path-to-repo-dir
Mikl X

@MiklX et comment incluriez-vous un nom d'utilisateur et un mot de passe?
m4l490n

13

Le manuel de git-clonedit:

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

Notez que SMB n'est pas dans la liste.

Lors de l'exécution gitsous Windows, la //host/pathsyntaxe fonctionne parce que le système d'exploitation la prend en charge de manière native - les chemins distants SMB peuvent être utilisés partout où un chemin local peut être utilisé. Ce n'est pas le cas sous Unix, où SMB est une chose étrangère, et //est équivalent à /l'algorithme de résolution de chemin d'accès.

montez le système de fichiers distant, vous aurez alors la possibilité de vous y référer avec un chemin d'accès de style Unix que git(et tous les autres outils du système) comprend.

Pour plus d'informations sur le montage de smbfs: /ubuntu/137011/how-to-mount-a-samba-shared-folder-ubuntu-x-ubuntu


En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.