git - que - ¿Cómo combinar dos ramas de dos repositorios diferentes en un único repositorio?
que es un conflicto en git (3)
Creo que Jim tiene razón. También tenga en cuenta que si dos commits hacen exactamente el mismo parche / diff contra el código, tendrán exactamente el mismo hash SHA1. Por lo tanto, de la A a la E debería tener el mismo SHA1 en ambos repositorios, por lo que no debería ser un problema fusionarse de uno a otro, y mantener el repositorio fusionado como el único repositorio para avanzar.
Puede configurar en repo1 una rama de seguimiento para repo2, y luego mantenerlos separados de esa manera, y retrasar la fusión cuando lo desee.
Las estructuras de mis repositorios Git se ven así:
A-B-C-D-E-F # master branch in separate repo1
A-B-C-D-E-G-H # master branch in separate repo2
AH son compromisos simples. Como puede ver, los repositorios están relacionados (repo2 es una bifurcación de repo1). Intento combinar estos dos repositorios en uno.
Después, el único repositorio debe tener la siguiente estructura:
A-B-C-D-E-F # master branch of previous repo1
/
/
G-H # master branch of previous repo2
Ya he pasado mucho tiempo leyendo la Guía del usuario de Git, y así sucesivamente. Sin embargo, este caso de uso (especial) no parece estar documentado en ninguna parte.
Puede tratar otro repositorio de git en el mismo sistema de archivos como un repositorio remoto.
En el primero, haz lo siguiente:
git remote add <name> /path/to/other/repo/.git
git fetch <name>
git branch <name> <name>/master #optional
Ahora ambas son ramas en un único repositorio. Puede cambiar entre ellos con git checkout, combinar con git merge, etc.
Su imagen sugiere que realmente no desea "combinar los dos repositorios" tanto como fusiona asigna G y H en repo1. Debería poder hacer algo tan simple como agregar repo2 como un control remoto para repo1 y buscar / extraer los cambios.