2011-04-27 13 views
11

Tengo un proyecto en un repositorio de Git y me han enviado cambios que se han realizado fuera de Git. Estos cambios se basan en una versión anterior que he estado haciendo cambios a mí mismo. ¿Cuál es la mejor manera de combinar estos archivos externos con los míos?¿Cuál es la mejor manera de combinar cambios externos en mi repositorio de Git?

¡Muchas gracias!

+1

¿En qué formato se le enviaron estos cambios? Un archivo diff? –

Respuesta

10

La mejor manera es contarle a git para qué compromiso se basaron, para darte la mejor oportunidad de una fusión automática.

  1. git checkout <sha1 of the old commit> -b mybranch, para rebobinar su árbol de trabajo y comenzar una nueva sucursal.
  2. Si los cambios se enviaron como un diff, use git-apply para aplicarlos al árbol de trabajo; de lo contrario, simplemente ponga los archivos actualizados en.
  3. Agregue y confirme los archivos.
  4. git checkout master, luego git merge mybranch.
+0

Muchas gracias, esto suena como lo que quiero. ¡Aclamaciones! – GitNub

4

Usted querrá actuar exactamente como si estuviera trabajando con estos archivos, por lo que se comprometan desde el estado de la versión anterior que está hablando:

  1. crear una rama de comprometerse en la que usted cree siendo la base del archivo modificado
  2. Añadir el archivo modificado
  3. commit
  4. Combinar la rama posterior a la rama principal de desarrollo
0

la mejor manera sería para la persona que proporcionó los cambios para proporcionar un parche en lugar de archivos. Pero si no es posible, esa otra persona no es consciente de Control de Versión u otra cosa, puede intentar confirmar todos los cambios pendientes en la rama en la que está trabajando actualmente. Preferiblemente, trate de evitar cualquier archivo sin seguimiento también. Luego copie esos archivos en el repositorio git y ejecute git status y verá cuáles son los cambios que se comparan con el estado de su repositorio, y luego puede decidir qué hará con ellos

Cuestiones relacionadas