2012-03-22 13 views
7

Tengo tres ramas (llamémoslas maestro, pruebas y funciones). Los tres se comparten, por lo que no puedo volver a establecer una base de ninguno de ellos sin causar problemas a los demás. En la actualidad, las tres ramas han divergido (ninguna es un avance rápido), por lo que eventualmente será necesario realizar alguna fusión, ya que no es una opción renovar.Git fusionar archivo único sin rebasar

Por el momento, sin embargo, me gustaría incluir el Makefile desde la prueba en la característica, ya que la característica se separó de la maestra y se agregó el Makefile en la prueba. Hago no quiero fusionarme en cualquier otro cambio entre las dos ramas, sin embargo.

Mi comprensión es que si acabo de agregar git-Makefile a la función, esto provocará conflictos de combinación cuando vuelva a fusionar la función en pruebas (y luego master), especialmente si realizo nuevas adiciones al Makefile en mi rama de características .

Podría hacer git-cherry-pick; sin embargo, hubo múltiples confirmaciones para el Makefile en las pruebas, y supongo que hay una mejor manera que tratar de seleccionar todas esas confirmaciones en la función.

Respuesta

12

Puede acaba de hacer una

git checkout branch_name <path(s)>

Esto puede cargar un archivo específico pero también se puede utilizar comodines y directorios

Tenga en cuenta que:

  • rutas son relativas
  • La ruta hace que git no cambie de ramas, por lo que solo puede comprometerse después de obtener el archivo
+0

Wow - He utilizado el pago para cambiar a un compromiso por su SHA, y en un archivo volver a HEAD, pero no me di cuenta de que podía combinar los dos de esa manera. Esto es bastante obvio en retrospectiva ahora, ¡pero gracias! – chimeracoder

Cuestiones relacionadas