Cómo fusionar mi código con código proveniente de un repository diferente en git

Hace un mes comencé a trabajar en una nueva function en uno de nuestros repositorys privados en github. Cloné el repository y lo ramifiqué. He estado trabajando en la sucursal desde entonces.

Mientras tanto, el código se movió a un repository diferente en github. Ahora necesito fusionar lo que he hecho con los nuevos desarrollos que han estado sucediendo en el nuevo.

Mi idea:

1 – verifica el nuevo repository.

2 – Encuentra el último compromiso común en mi repository y el nuevo. Esta debería ser la última confirmación en la twig principal.

3 – Crear un parche entre la twig principal y mi twig de trabajo.

4 – Aplicar el parche al nuevo repository.

¿Es esto correcto? ¿Cuáles deberían ser los commands de git para hacer 3 y 4?

git-rebase debe hacer lo que quieras, es decir, reproducir tus cambios en el nuevo repository:

 git remote add new-repo /path/to/new-repo git fetch new-repo git checkout hacking-branch git rebase hacking-branch new-repo/master 

Si el nuevo repository es realmente un fork / clon del antiguo, entonces debería poder simplemente replace la URL en .git/config con la nueva URL, luego git fetch para extraer todo del nuevo proyecto. Una vez hecho esto, puedes usar git rebase o git merge según corresponda.

Si, en lugar de rastrear solo un proyecto, desea realizar un seguimiento de ambos proyectos (¿hay algún desarrollo en curso en el proyecto anterior que todavía desee instalar de vez en cuando?), Entonces puede agregar el nuevo repository como otro remoto – git remote add newproj <URL> . Incluso podría cambiar el nombre del anterior por otro que no sea el origin por lo que podría usar el nombre de origin para el nuevo repository.

Eso evitaría tener que ir por la ruta del parche, ya que solo señalará su repository local en la nueva location y tendrá acceso directo a todas las confirmaciones nuevas así como a las anteriores.