from - how to clone github repository windows
Cómo actualizar un clon git--mirror? (3)
En cuanto a commits, refs, branches y " etcétera ", la respuesta de Magnus simplemente funciona (actualización remota git).
Pero lamentablemente no hay forma de clonar / duplicar / actualizar los ganchos , como yo quería ...
He encontrado este hilo muy interesante acerca de la clonación / reflejo de los ganchos:
http://kerneltrap.org/mailarchive/git/2007/8/28/256180/thread
He aprendido:
Los "ganchos" no se consideran parte del contenido del repositorio.
Hay más datos, como la carpeta ".git / description", que no se clona, al igual que los ganchos.
Los ganchos predeterminados que aparecen en el directorio "hooks" provienen de TEMPLATE_DIR
Existe esta interesante función de "plantilla" en git.
Por lo tanto, puedo ignorar este "clonar los enganches", o buscar una estrategia de rsync
, dados los propósitos de mi espejo (copia de seguridad + fuente para otros clones, solamente).
Bueno ... Me olvidaré de la clonación de ganchos, y me atengo a la forma de "actualización remota git".
- Sehe acaba de señalar que no solo los "ganchos" no son gestionados por el proceso de clonación / actualización, sino que también se guardan, revisan, etc. Por lo tanto, para una copia de seguridad estricta, rsync o equivalente realmente sería el camino a seguir. Como esto no es realmente necesario en mi caso (me puedo permitir no tener ganchos, escondites, etc.), como dije, me atendré a la "actualización remota".
¡Gracias! Mejorado un poco mi propio "git-fu" ... :-)
He creado un repositorio git para duplicar un sitio en vivo (que es un repositorio git no simple):
git clone --mirror ssh://[email protected]/path/to/repo
Ahora, para mantener este duplicado duplicado actualizado con todos los cambios desde su origen remoto, ¿qué comando o comandos debo usar?
Me gustaría mantener todo actualizado: commits, refs, hooks, branches, etc.
¡Gracias!
Este es el comando que necesita ejecutar en el espejo:
git remote update
Mira aquí: ¿ Git no clona todas las ramas en los clones subsiguientes?
Si realmente quieres esto tirando de las ramas en lugar de push --mirror
, puedes echar un vistazo aquí:
"fetch --all" en un repositorio de git bare no sincroniza las ramas locales con las remotas
Esta respuesta proporciona pasos detallados sobre cómo lograr eso con relativa facilidad: