2011-08-31 18 views
152

Tengo los siguientes repos.Configuración de un origen remoto de git

  1. DEV REPO: en un directorio en mi máquina de desarrollo, donde hago cambios
  2. REPO PRINCIPAL: repositorio desnudo en mi máquina de desarrollo al que empujo cambios de recompra dev
  3. REPO
  4. PRODUCCIÓN: repositorio en el equipo host para tirar de actualizaciones desde el repositorio principal

solía git remote add origin /Users/me/sites/main_repo para configurar el repositorio principal, como origen para la cesión temporal DEV. El repositorio de PRODUCCIÓN se encuentra en un host remoto. ¿Puedo usar una variación del mismo comando para configurar el repositorio MAIN como origen para el repositorio PRODUCCIÓN también? Si es "sí", entonces supongo que la sintaxis debería incluir una dirección IP. Como se veria eso?

Respuesta

238

Usando SSH

git remote add origin ssh://[email protected]/path/to/repository 

Utilización del protocolo HTTP

git remote add origin http://IP/path/to/repository 

Sin embargo, tener un simple git pull como un proceso de implementación es generalmente una mala idea y debe ser evitado a favor de un script de implementación real.

+6

¿Por qué es realmente una mala idea? Realizando algunas búsquedas ahora para ejemplos de script de implementación. – Jay

+14

Porque la implementación a menudo significa (leer "siempre") más que lo que 'git pull' hace. Es posible que necesite configurar las credenciales de BD de producción, borrar el caché, aumentar el número de versión, hacer una copia de seguridad de la versión anterior para que pueda retroceder si las cosas van mal, optimizar/minimizar sus activos (CSS y Js por ejemplo) y un bazillion de otros cosas. –

+32

@ClementHerreman - parece que, en base a su explicación, usar git pull no es tanto una "mala idea", ya que es una solución limitada. A veces me parece que git pull es una solución de implementación simple y perfectamente eficaz cuando tengo un escenario simple. – Brady

12

Puede incluir la rama para realizar un seguimiento de la hora de establecer controles remotos, para mantener las cosas de trabajo como era de esperar:

git remote add --track master origin [email protected]:group/project.git # git 
git remote add --track master origin [email protected]:group/project.git # git w/IP 
git remote add --track master origin http://github.com/group/project.git # http 
git remote add --track master origin http://172.16.1.100/group/project.git # http w/IP 
git remote add --track master origin /Volumes/Git/group/project/   # local 
git remote add --track master origin G:/group/project/      # local, Win 

Esto le evita tener que modificar manualmente la configuración de Git o especificar la rama seguimiento manual.

76

Para cualquiera que venga aquí, como lo hice, buscando la sintaxis cambie el origen a una ubicación diferente, puede encontrar esa documentación aquí: https://help.github.com/articles/changing-a-remote-s-url/. Usar git remote add para hacer esto dará como resultado "fatal: el origen remoto ya existe".

cáscara de nuez: git remote set-url origin https://github.com/username/repo

(La respuesta marcada es correcta, sólo espero para ayudar a alguien tan perdido como yo era ... jaja)

+0

Esta respuesta es mejor para las personas que desean cambiar "urit remoto de git" si ya existe Gracias @lostphilosopher – eonist

Cuestiones relacionadas