2009-10-30 26 views
13

Por algún contexto: Acabo de actualizar Ubuntu que rompió mi instalación de gitosis existente (ver aquí: bug #368895), y acabo de reinstalar la gitosis de los paquetes. Ahora quiero migrar mi configuración completa y el conjunto de repositorios de la antigua instalación de gitosis (que todavía existe y puede extraerse, pero que de otra forma se rompe).git-merge con repositorio en el sistema de archivos local

Ahora tengo dos directorios gitosis-admin localmente, uno para cada instalación de gitosis. Uno tiene una historia completa, el otro está vacío. Quiero atravesar esta historia. Esto es lo que está sucediendo sin embargo:

[email protected]:~/gitosis-admin-new$ git merge ../gitosis-admin-old/ 
fatal: '../gitosis-admin-old/' does not point to a commit 

... donde no son repositorios Git en ~/gitosis-admin-old/ y ~/gitosis-admin-new/

probablemente voy a tener que hacer esto para los otros repositorios también, que tienen mucho más tiempo y historias más importantes, por lo que copiar y comprometerse como uno no es una opción.

¿Qué estoy haciendo mal? He intentado señalar .git/HEAD que, como entiendo, es una confirmación, pero eso no funciona. ¿Podría alguien explicar cómo hacer esto? ¡Gracias!

Respuesta

21

Es necesario utilizar git pull con repositorio, no git merge (que es para las sucursales):

git pull ../gitosis-admin-old/ 

Es posible que tenga que seleccionar una rama en el remoto para combinar, por ejemplo:

git pull ../gitosis-admin-old/ master 

Si necesita hacer esta combinación solo una vez, entonces usar git remote add como en jamessan answer es un trabajo innecesario. Por otro lado, si volvería a visitar el control remoto (tirando más de una vez), esta solución sería mejor que usar git pull <location> <branch>.

+0

Aceptado; ¡sube a la respuesta de jamessan por el 'maestro'! Muchas gracias :) –

3

Necesita crear un control remoto para ese repositorio y luego buscar & fusionar (o simplemente extraer) desde allí.

git remote add admin-old file://$HOME/gitosis-admin-old 
git pull admin-old 
Cuestiones relacionadas