2012-05-15 18 views
110

Sto cercando di fare un atto di repo locale come un telecomando con il nome bak per un altro repo locale sul mio PC, utilizzando il seguente:Come aggiungere un repo locale e lo trattano come un pronti contro termine a distanza

git remote add /home/sas/dev/apps/smx/repo/bak/ontologybackend/.git bak 

che dà questo errore:

fatal: '/home/sas/dev/apps/smx/repo/bak/ontologybackend/.git' is not a valid remote name 

sto cercando di sincronizzare due pronti contro termine locali, con uno configurato come un remoto denominato bak per l'altro, e quindi l'emissione di git pull bak.

Qual è il modo migliore per farlo?


Edit:

Siamo spiacenti, mi sciocca, ho appena realizzato il telecomando aggiuntivo dovrebbe essere:

git remote add bak /home/sas/dev/apps/smx/repo/bak/ontologybackend/.git 

il nome del telecomando va prima l'indirizzo.

risposta

147

Hai i tuoi argomenti al comando remote add invertito:

git remote add <NAME> <PATH> 

Quindi:

git remote add bak /home/sas/dev/apps/smx/repo/bak/ontologybackend/.git 

Vedi git remote --help per ulteriori informazioni.

+3

è il '.git' alla fine specificamente richieste però? –

+2

È solo un percorso ... a Git non interessa come si chiama. – larsks

+1

@ErikAigner Tradizionalmente, i repository nudi terminano con un suffisso ".git". Anche se di solito non è come una propria directory, ma piuttosto come: "/path/to/projectname.git". - A parte questo, fa poca differenza. – Atli

5

Sembra che il formato non è corretto:

If you want to share a locally created repository, or you want to take contributions from someone elses repository - if you want to interact in any way with a new repository, it's generally easiest to add it as a remote. You do that by running git remote add [alias] [url]. That adds [url] under a local remote named [alias].

#example 
$ git remote 
$ git remote add github [email protected]:schacon/hw.git 
$ git remote -v 

http://gitref.org/remotes/#remote

43

Se il vostro obiettivo è quello di mantenere una copia locale del repository per un facile backup o per attaccare su un disco esterno o la condivisione tramite cloud storage (Dropbox, ecc.) può essere utile per utilizzare uno bare repository. Ciò consente di creare una copia del repository senza una directory di lavoro, ottimizzata per la condivisione.

Ad esempio:

$ git init --bare ~/repos/myproject.git 
$ cd /path/to/existing/repo 
$ git remote add origin ~/repos/myproject.git 
$ git push origin master 

Allo stesso modo si può clonare, come se questo fosse un repo remoto:

$ git clone ~/repos/myproject.git 
+1

Questa dovrebbe essere la risposta accettata, perché si adatta perfettamente alla domanda "Qual è il modo migliore per farlo?". Il "repository locale trattato come un repository remoto", come lo chiamava @opensas, è in effetti una directory nuda (proprio come un vero repository remoto) – Jack

+1

Suggerisco una modifica: Se si debba usare "git remot add .." + " git push "o semplicemente" git clone "è indicato qui: https: // stackoverflow.it/a/31590993/5446285 (risposta di adelphus) – Jack

+1

@Jack - puoi approfondire ciò che hai trovato confuso? Sono felice di modificare ma voglio mantenere la risposta relativamente succinta. –

Problemi correlati