2011-01-14 962 views
11

Puedo hacer "git remote add origin x @ x: ~/blah" y "git push" funcionará. Pero si creo una copia local "git clone ~/blah" dentro/var - entonces "git remote add local/var/blah" dentro de ~/blah, cuando intento "git push" no empuja las actualizaciones.¿Cómo puedo tenerlo donde empuja "git push" a los repositorios locales?

¿Cómo puedo hacer actualizaciones de git push en copias locales?

Tengo una biblioteca compartida que uso en un grupo de proyectos. Utilizo "git clone" dentro de otras carpetas para obtener una copia local de la biblioteca. Cuando actualizo la biblioteca principal, tengo que ir a cada copia local y escribir "git pull" para obtener las actualizaciones. ¿Cómo puedo decir "git push" para enviar el código a todas las bibliotecas?

Respuesta

17

De forma predeterminada, git push empuja al origen. Si desea enviar a otro repositorio remoto (en la misma máquina o de otro modo), debe hacer git push <remote-name>. También tenga en cuenta lo que dice mipadi sobre repositorios no desnudos.

Entonces en su caso, después de git remote add local /var/blah, haría git push local para enviar cambios al repositorio en/var/blah.

Un poco google-fu se le ocurrió este post para empujar a múltiples repositorios remotos a la vez:

http://web.archive.org/web/20110828185858/http://jeetworks.com/node/22

En esencia, un mando a distancia puede tener varias direcciones URL. Para ello editar su .git/config y poner algo como esto:

[remote "all"] 
    url = /some/path/to/repo1 
    url = /some/path/to/repo2 

Después de eso, se puede hacer git push all para empujar a las dos direcciones URL remota a la que apunta el mando a distancia "todos".

4

¿Está presionando a un repositorio no desnudo? Si es así, el repositorio en sí se actualizará, pero los archivos pagados (en el disco) no se actualizarán.

+0

Tengo una biblioteca compartida que uso en un grupo de proyectos. Utilizo "git clone" dentro de otras carpetas para obtener una copia local de la biblioteca. Cuando actualizo la biblioteca principal, tengo que ir a cada copia local y escribir "git pull" para obtener las actualizaciones. ¿Cómo puedo decir "git push" para enviar el código a todas las bibliotecas? – ForeverConfused

Cuestiones relacionadas