207 votes

GIT clone repo à travers le système de fichiers local

Je suis un Noob complet quand il s'agit de GIT. J'ai été juste de prendre mes premiers pas au cours de la dernière quelques jours. - Je configurer un repo sur mon ordinateur portable, tiré vers le bas le Tronc d'un projet SVN (eu quelques problèmes avec des branches, pas obtenu leur travail), mais tout semble ok.

Maintenant, je veux être en mesure de tirer ou de pousser de l'ordinateur portable à mon ordinateur de bureau principal. La raison d'être de l'ordinateur portable est très pratique dans le train que j'ai passer 2 heures par jour de voyage et pouvez obtenir bon travail accompli. Mais ma machine à la maison est idéal pour le développement. Donc, je veux être en mesure de pousser / tirer de l'ordinateur portable à l'ordinateur principal quand je rentre à la maison. J'ai pensé que le moyen le plus simple de le faire serait d'avoir juste le code dossier partagé sur le réseau local et à faire:

git clone file://192.168.10.51/code

malheureusement, cela ne semble pas fonctionner pour moi:

j'ai donc ouvert un git bash cmd et tapez la commande ci-dessus, je suis en C:\code (le dossier partagé pour les deux machines) c'est ce que j'obtiens en retour:

Initialized empty Git repository in C:/code/code/.git/
fatal: 'C:/Program Files (x86)/Git/code' does not appear to be a git repository
fatal: The remote end hung up unexpectedly

Comment puis-je partager le référentiel entre les deux machines dans le plus simple des manières.

Il y aura d'autres endroits qui seront officielles de points de stockage et les lieux où les autres développeurs et serveur CI etc tirera d', c'est juste pour que je puisse travailler sur le même repo sur deux machines.

Comme par Sébastien suggestion, je reçois le texte suivant:

C:\code>git clone --no-hardlinks file://192.168.10.51/code
Initialized empty Git repository in C:/code/code/.git/
fatal: 'C:/Program Files (x86)/Git/code' does not appear to be a git repository
fatal: The remote end hung up unexpectedly

*EDIT - RÉPONSE *

Merci à tous qui m'ont aidé. J'ai essayé le mappage d'un lecteur et ça a donc pensé que je pourrais revenir en arrière et réessayer sans cartographie. Le résultat final est:

git clone file://\\\\192.168.0.51\code

Cela a très bien fonctionné.

Merci

181voto

poke Points 64398

Cela a fonctionné pour moi:

git clone file:////<host>/<share>/<path>

edit: Par exemple, si votre machine principale a l'IP 192.168.10.51 et le nom de l'ordinateur main, et il a un partage nommé code qui lui-même est un dépôt git, les deux commandes suivantes doivent fonctionner de la même manière:

git clone file:////main/code
git clone file:////192.168.10.51/code

Si le dépôt git est dans un sous-répertoire, il suffit d'ajouter le chemin d'accès.

130voto

J.F. Sebastian Points 102961
$ git clone --no-hardlinks /path/to/repo

La commande ci-dessus utilise POSIX notation de chemin pour le répertoire avec votre dépôt git. Pour Windows, c'est (répertoire C:/path/to/repo contient .git directory):

C:\some\dir\> git clone --local file:///C:/path/to/repo my_project

Le référentiel sera cloner C:\some\dir\my_project. Si vous omettez file:/// alors --local option est implicite.

14voto

Talaat Safwat Points 111

la réponse avec le nom d'hôte n'a pas fonctionné pour moi mais ce n' :

git clone file:////home/git/repositories/MyProject.git/

8voto

Mark F Guerra Points 494

J'ai réussi à faire cela en utilisant file://, mais avec une barre oblique pour désigner un chemin d'accès absolu.

git clone file:///cygdrive/c/path/to/repository/

Dans mon cas, je suis en utilisant Git sur Cygwin pour Windows, qui vous pouvez voir à cause de l' /cygdrive/c partie dans mes voies. Avec quelques ajustements pour le chemin d'accès, il devrait fonctionner avec toute installation de git.

L'ajout d'une distance fonctionne de la même manière

git remote add remotename file:///cygdrive/c/path/to/repository/

6voto

intuited Points 7763

Peut-être la carte la part comme un lecteur réseau, puis faire

git clone Z:\

La plupart du temps juste une supposition que je fais toujours ce genre de choses à l'aide de ssh. Suivant que suggstion bien sûr, cela signifie que vous aurez besoin d'avoir que le lecteur mappé à chaque fois que vous poussez/tirez vers/depuis l'ordinateur portable. Je ne suis pas sûr de savoir comment vous monter ssh fonctionne sous windows, mais si vous allez faire beaucoup de fois il peut être utile de l'examiner.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X