web-dev-qa-db-fra.com

Comment git cloner un dépôt dans Windows depuis un autre PC dans le LAN?

J'ai ce dépôt git "c:/xampp/htdocs/* *" sur mon PC principal et son adresse IP est 192.168.0.6. Maintenant, je veux git cloner ce dépôt depuis ubuntu-server qui fonctionne sur un lecteur Vmware sur mon PC principal.

J'ai fait

 git clone \\192.168.0.6\c:\xampp\htdocs\****

et

 git clone //192.168.0.6/c:/xampp/htdocs/****

de ubuntu-server et aucun n'a fonctionné.

fatal: could not create work tree dir '****'.: Permission denied

Qu'est-ce que j'ai mal? que devrais-je faire?

36
Kou

Pour accéder au référentiel, vous devez soit le partager sur 192.168.0.6 ou doit être le même utilisateur de domaine que celui qui possède le fichier sur 192.168.0.6.

Si vous partagez le répertoire sur 192.168.0.6 (par exemple avec le nom de partage myrepo), vous y accédez avec //192.168.0.6/myrepo.

Si vous êtes connecté sur votre box avec un compte utilisateur connu sur 192.168.0.6, vous pouvez essayer d'accéder au référentiel via les partages administratifs:

//192.168.0.6/c$/xampp/htdocs/...

Utilisez toujours des barres obliques.

Une autre alternative serait d'utiliser SSH pour accéder à la machine distante.

23
eckes

Assurez-vous que votre dossier c:/xampp/htdocs (ou ses sous-dossiers) est partagé dans Windows, afin que vous puissiez naviguer sur le réseau par cette adresse:

\\192.168.0.6\htdocs

Ensuite, vous clonez en utilisant le fichier: ////. Notez qu'il y a quatre barres obliques:

git clone file:////192.168.0.6/htdocs/somerepo.git
23
ralphtheninja

Vous devez utiliser la commande git daemon pour héberger votre référentiel, comme ceci:

Dans votre ordinateur qui servira de serveur:

git daemon --base-path=<path_to_folder_containing_project_folder> --export-all

(veuillez noter que path_to_folder_containing_project est le dossier contenant vos dossiers de projets, il fournira tous les projets sous ce dossier)

Chez votre client:

git clone git://<local ip>/<project name>

Le référentiel cloné aura son origine pointant vers le serveur de votre réseau local, vous pouvez donc utiliser git remote set-url Origin pour pointer vers l'origine d'origine.

Vous voudrez peut-être exécuter git daemon avec le --verbose option pour obtenir plus de détails en cas de problèmes.

23
Roberto

Utiliser Explorer (smb) pour monter le référentiel distant en tant que partage réseau est le moyen le plus simple. Je ne suis pas tout à fait sûr, mais je pense que vos chemins peuvent être faux. Essayez file:///192.168.0.6\c:\xampp... au lieu.

Il y a deux choses qui auraient pu mal tourner pour vous:

  • Vous n'avez pas d'autorisation de lecture sur le référentiel distant
  • Vous ne disposez pas de l'autorisation d'écriture à l'emplacement où vous souhaitez créer votre référentiel (le répertoire de travail actuel ou le répertoire que vous spécifiez comme deuxième argument pour git clone)

Et vérifiez également si votre serveur samba fonctionne pour un accès normal aux fichiers.

2
Johannes Rudolph

J'ai récemment rencontré cette erreur en essayant de cloner un référentiel dans un PC distant vers un PC local sur le même réseau LAN. La solution consistait d'abord à s'assurer que l'emplacement du lecteur sur le PC distant avait les droits d'accès corrects pour le PC local (lecture/écriture - qui peut être défini à l'aide des options de partage de Windows). Copiez le chemin du référentiel distant. Dans votre PC local, collez le chemin dans une fenêtre de l'Explorateur Windows. Copiez ensuite son adresse de répertoire et collez-la dans n'importe quel navigateur. Vous devez maintenant obtenir un lien avec le nom d'hôte et le format d'URL de clonage correct. Utilisez ce lien pour cloner le référentiel sur le PC local.

J'espère que cela t'aides. À votre santé.

1
AnonymousEngineer