2010-12-16 17 views
27

Un colega mío ha bifurcado mi proyecto y queremos incorporar su cambio en un único archivo en mi repositorio, manteniendo su historial (principalmente los registros de confirmación)."git format-patch" equivalente para un solo archivo?

El problema es que es torpe en sus confirmaciones, por lo que las confirmaciones también contienen diferencias de otros archivos, sin relación con el proyecto (o lo que necesita ser retirado del repositorio original).

Me gustaría poder hacer un "parche de formato git" para extraer el historial, pero solo para un solo archivo (o tal vez dos, los archivos .cpp y .hpp). No pude encontrar una opción para "formatear-parchear" para esto.

¿Es posible?

Gracias!

Respuesta

36

Hum ... Así que en realidad, es tan simple como:

git format-patch commit_id file(s) 

donde commit_id es el padre de la primera comprometen a crear una actualización seguido por el archivo o archivos querían ...

+4

Basta con añadir a '-' si algunos de los archivos que desea seguir no existen localmente en el maestro: 'git formato-parche -directorio de salida myPatch commit-id-begin..commit-id-end-file1 archivo2 archivo3 ' – Autiwa

+1

Eso no me funcionaba hasta que vi esto - http://stackoverflow.com/a/7885229/1603711 - Necesitaba usar' git format-patch -1 commit_id - file (s) ' –

Cuestiones relacionadas