Con Git, ¿cómo aplico la diferencia de dos versiones en la twig A a la twig B?

Tenemos un software de terceros que cambia unas 3 o 4 veces al año. Evidentemente, el código del proveedor no tiene en count nuestras personalizaciones y, cuando se aplica su último código (un único file Pro * C) a nuestro sistema de producción, se borran todas.

Un compañero de trabajo sugirió que coloquemos este código en Git e intentemos usar sus herramientas para administrar los cambios. Con ese fin, hemos hecho lo siguiente. He creado dos twigs en Git, la twig maestra pnetworkingeterminada, y otra llamada "personalizada". En la twig personalizada, la primera versión del file es una versión de punto no modificada de octubre del año pasado, y la segunda versión del file se aplica y testing con éxito.

En la twig principal, la primera versión vuelve a ser la versión de octubre. El segundo es su lanzamiento (actual) de marzo.

¿Qué pasos debo seguir para aplicar las diferencias entre las dos versiones de twig personalizadas a la twig principal?

En subversión había algunos tutoriales y ejemplos disponibles para lo que se llamaba "drops de proveedor", pero no encuentro mucho en este escenario con Git. Definitivamente necesito trabajar en mis habilidades de Git.

Esto es tan simple, svn sería completamente avergonzado incluso por tener un tutorial sobre esto.

Veamos tu escenario en este gráfico:

A -- master \ B -- custom 

En este gráfico, A es el lanzamiento original de octubre del software de terceros. B son los cambios que has hecho.

Ahora hay una nueva versión de marzo del software de terceros.

Paso 1: parte obvia

Primero, coloque la nueva versión en el repository en Branch master :

 $ git checkout master # go to master $ cp -R ../march/* . # overwrite with new version $ git add ???? # add any new files they might have added (check with `git status`) $ git commit -a # make a new commit 

Creo que este paso fue bastante obvio. Entonces ahora tienes el siguiente gráfico:

 A----C -- master \ B -- custom 

Donde C es la nueva confirmación, que contiene la versión de marzo.

Paso 2: parte Súper Simple

Esto es ahora todo lo que necesita hacer:

 $ git checkout custom # go to custom $ git merge master # get the changes over 

Hecho.

El gráfico es ahora:

 A----C -- master \ \ B----D -- custom