2011-03-04 14 views
28

Ho questo repository git "c:/xampp/htdocs/* *" nel mio PC principale e il suo indirizzo IP è 192.168.0.6. Ora voglio fare clonare questo repository da ubuntu-server che gira su un Vmware Player nel mio PC principale.Come clonare un repository in Windows da un altro pc all'interno della LAN?

ho fatto

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

e

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

da ubuntu-server e non ha funzionato.

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

Cosa ho sbagliato? cosa devo fare?

risposta

20

Per accedere al repository, è necessario condividerlo su 192.168.0.6 o deve essere lo stesso utente del dominio di quello che possiede il file su 192.168.0.6.

Se si condivide la directory su 192.168.0.6 (ad esempio con nome di condivisione myrepo), è possibile accedervi con //192.168.0.6/myrepo.

Se si è connessi sulla propria macchina con un accout utente che è noto su 192.168.0.6, si potrebbe provare a accedere al repository attraverso le condivisioni amministrative:

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

Usare sempre le barre.

Un'altra alternativa sarebbe utilizzare SSH per accedere alla macchina remota.

2

L'utilizzo di explorer (smb) per montare il repository remoto come condivisione di rete è il modo più semplice. Non ne sono del tutto sicuro, ma penso che i percorsi potrebbero essere sbagliati. Prova invece a file:///192.168.0.6\c:\xampp....

Ci sono due cose che potrebbero sono andate male per voi:

  • Non si dispone dell'autorizzazione di lettura sul repository remoto
  • Non hai i permessi di scrittura nella posizione che si desidera creare il tuo repository (la directory di lavoro corrente o la directory specificata come secondo argomento per git clone)

E controlla anche se il tuo server di samba funziona per il normale accesso ai file.

21

Assicurati che il tuo c:/xampp/htdocs cartella (o sottocartelle di esso) è condivisa in finestre, in modo da poter navigare in rete da questo indirizzo:

\\192.168.0.6\htdocs 

Poi si clona utilizzando file:////. Si noti che ci sono quattro barre:.

git clone file:////192.168.0.6/htdocs/somerepo.git 
+0

Grazie! Ho usato questo con un repository non bare: git clone file: ////192.168.0.6/htdocs/somerepo – kol

+0

Grazie. io voto! – Benyamin

-2

"Ho un paio di diversi computer che uso a casa e ho voluto istituire GIT che posso accedere al mio codice da nessuno di loro è voluto un po 'perché ero troppo abituato a lavorare con un modello client-server in cui ho designato una macchina come "server" che detiene il repository e tutto il resto era un client.Invece, GIT sembra funzionare più come uno strumento di unione e ogni copia locale è il suo "master". Una volta ho capito che, si scopre che la creazione di GIT è molto semplice e ha solo bisogno di GIT stesso e SSH"

Per saperne di più è possibile controllare questo link:. http://blog.lazyhacker.com/2010/04/setting-up-git-for-home-network.html

1

Per rendere git repo su Windows locali rete avresti bisogno di fare quanto segue:

  1. Crea nuovo repo

    git init --bare projectName.git

  2. Condividi questa cartella (projectName.git) con gli utenti che ti servono

  3. Trova il tuo PC ip con il comando ipconfig (ad es. 192.168.2.101)
  4. eseguire questo comando dalla macchina di qualche utente

    git clone //192.168.2.101/projectName.git

Nota: aperto 192.168.2.101 \\ nel Finder per vedere il percorso corretto al projectName.git (ad es //192.168.2.101/some/path/projectName.git)

13

Si consiglia di utilizzare il comando git daemon per ospitare il vostro pronti contro termine, in questo modo:

Nel tuo computer che fungerà da server:

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

(si prega di notare che path_to_folder_containing_project è la cartella che contiene le cartelle progetti, fornirà tutti i progetti in corso di quella cartella)

nel vostro client:

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

il repo clonato avrà la sua origine che punta al server della LAN, quindi si consiglia di utilizzare git remote set-url origin per indicarlo all'origine originale.

+0

ha funzionato perfettamente per me. Per chiarezza potresti prendere in considerazione la riformulazione '' come ''. – wgwz

+2

questa dovrebbe essere la risposta accettata –

Problemi correlati