Mantener una twig que se sincronice con la stream ascendente

Estoy planeando agregar algún código basado en un proyecto en github, por ejemplo, agregar algunas opciones personalizadas que se ajusten a mi proyecto.

Una idea es bifurcar y crear una twig para include todos mis cambios. Cada vez que upstream tiene nuevos cambios, los recojo y los vuelvo a clasificar en mi twig.

Supongamos que estos son mis controles remotos:

$ git remote -v my git@github.com:khing/myproject.git (fetch) my git@github.com:khing/pyproject.git (push) up https://github.com/upstream/project.git (fetch) up https://github.com/upstream/project.git (push) 

upstream tiene tres commits: A, B, C y yo tenemos dos commits extra: M, N

Así que supongo que las twigs actuales serán como:

 up: A--B--C my: A--B--C--M--N 

Supongamos que upstream tiene dos nuevos commits D y E, debería search y rebasear (y sí, podría tener que arreglar conflictos de fusión), así que supongo que será:

 up: A--B--C--D--E my: A--B--C--D--E--M--N 

¿Es esta una buena manera de mantener mi propia sucursal mientras me mantengo actualizado con una sucursal de upstream?

Sí. Eso es lo que describí en " Extraiga nuevas actualizaciones del repository original de GitHub en el repository de GitHub bifurcado ".

Desde esa respuesta (2010), puedes:

  • configure para extraer siempre desde el repository upstream original

     git remote set-url origin https://github.com/upstream/project.git git remote set-url --push origin git@github.com:khing/myproject.git 
  • asegúrate de siempre reubicar tus confirmaciones locales sobre lo que se busca:
    (necesita Git 2.9+, junio de 2016, ver " ¿Puedo" git pull "save y save automáticamente los cambios pendientes? ")

     git config pull.rebase true git config rebase.autoStash true 

Entonces basta con un simple git pull .