2011-12-09 15 views
5

Duplicar posible:
How to move files from one git repo to another (not a clone), preserving historymover archivos entre repositorios Git y preservar la historia

He seguido los pasos en

How to move files from one git repo to another (not a clone), preserving history

y me hizo llegar los archivos movidos terminado, ¡pero trajo TODA la historia del repositorio!

¿Hay una manera de hacer lo mismo pero sólo traer la historia de los archivos asociados en lugar de toda la historia del repositorio?

Editar:

Para ser más explícitos acerca de lo que estoy tratando de hacer, supongamos que hay 10 archivos en un repositorio y cada uno tiene 1 commit asociados a ella (por lo que el total de confirmaciones 10 en el registro).

tengo un nuevo repositorio que quiero transferir algunos de los archivos a través de, digamos 2 de ellos. Quiero traer los archivos con el historial de solo esos archivos, por lo que esperaría 2 confirmaciones del repositorio original en el registro del nuevo repositorio. El método utilizado anteriormente trae los 10 commits, aunque solo aparecieron 2 archivos.

+0

Posible dup de http://stackoverflow.com/questions/1365541/how-to-move-files-from-one-git-repo-to-another-not-a-clone-preserving-history –

+3

No es un duplicado: utilicé ese método, pero trae toda la historia de todo el repositorio, no solo el historial de los archivos que importé. – tpg2114

+1

no es un duplicado y que tienen el mismo problema –

Respuesta

0

Ha intentado Subtree Merging?

subárbol La fusión La idea de la fusión subárbol es que tiene dos proyectos, y uno de los proyectos se asigna a un subdirectorio de la otra y viceversa. Cuando especifica una combinación de subárbol, Git suele ser lo suficientemente inteligente como para darse cuenta de que uno es un subárbol de la otra y fusionarse adecuadamente.

Iremos a través de un ejemplo de cómo agregar un proyecto independiente en un proyecto existente y luego fusionar el código de la segunda en un subdirectorio de la primera.

+1

que no parece para preservar la historia de los archivos importados. La culpa de Git muestra todos los archivos fusionados como editados por mí, en lugar del autor original. Y el registro de git no muestra ninguna de las confirmaciones que están relacionadas con los archivos traídos. – tpg2114

+0

ese enlace ya está muerto. Hasta la fecha es http://git-scm.com/book/ch6-7.html – sukhmel

-4

Si el historial es solo una confirmación, ¿por qué no solo compromete ese archivo en el nuevo repositorio? No hay historia en este punto.

+2

Eso fue sólo un ejemplo para aclarar el punto. Estoy tratando de traer más de 2 archivos de un repositorio con más de 1000 archivos y 3 años de historia. Es por eso que estoy tratando de evitar llevar toda la historia del repositorio original, solo quiero el historial de los archivos que traigo. – tpg2114

+0

Luego solo ramifique para cada rama activa en el repositorio nuevo y confirme lo que existe en ese punto en el tiempo. Realice una confirmación raíz que sea común para todas las ramas que desee. –

Cuestiones relacionadas