2012-05-15 10 views
110

que estoy tratando de hacer un acto de recompra local como remota con el nombre bak para otro repo local en mi PC, utilizando la siguiente:¿Cómo añadir un repo local y lo tratan como un acuerdo de recompra a distancia

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

que da este error:

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

estoy intentando sincronizar dos repositorios locales, con el que se ha configurado como un llamado a distancia bak para el otro, y luego emitir git pull bak.

¿Cuál es la mejor manera de hacerlo?


Editar:

Lo sentimos, tonto de mí, me acabo de dar cuenta el complemento a distancia debe ser:

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

el nombre de la distancia va antes la dirección.

Respuesta

147

Usted tiene sus argumentos al comando remote add invertido:

git remote add <NAME> <PATH> 

Así:

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

Ver git remote --help para más información.

+3

es con '.git' al final requerimiento específico sin embargo? –

+2

Es solo un camino ... A Git no le importa cómo se llame. – larsks

+1

@ErikAigner tradicionalmente, los repos sin conexión terminarán con el sufijo ".git". Aunque normalmente no es su propio directorio, sino más bien como: "/ruta/a/nombredeproyecto.git". - Aparte de eso, eso hace poca diferencia. – Atli

5

Parece que su formato es incorrecto:

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

Si su objetivo es mantener una copia local del repositorio para facilitar la copia de seguridad o para pegar en una unidad externa o compartiendo a través de almacenamiento en la nube (Dropbox, etc.) es posible que desee utilizar un bare repository. Esto le permite crear una copia del repositorio sin un directorio de trabajo, optimizado para compartir.

Por ejemplo:

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

mismo modo se puede clonar, como si se tratara de un acuerdo de recompra a distancia:

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

Esta debería ser la respuesta aceptada, porque encaja perfectamente con la pregunta "¿Cuál es la mejor manera de hacerlo?". El "repositorio local tratado como un repositorio remoto", como lo llamó @opensas, es de hecho un directorio vacío (como un repositorio remoto real) – Jack

+1

Sugiero una edición: si debe usar "git remot add .." + " git push "o simplemente" git clone "se indica aquí: https: // stackoverflow.com/a/31590993/5446285 (respuesta de adelphus) – Jack

+1

@Jack - ¿Puede explicar lo que encontró confuso? Me complace enmendar pero quiero mantener la respuesta relativamente breve. –

Cuestiones relacionadas