Git: rastrea dos twigs, cuando los files se encuentran de manera diferente en cada uno

Dado que estoy en la primera sucursal, sigo los files 'foo' y 'bar', así:

my_repository/ ./foo ./bar 

¿Cómo podría también rastrear otra twig (remota), donde estos files 'foo' y 'bar' están ubicados en otra location? Es decir, cuando pago esta segunda twig, la carpeta my_repository convierte en algo así:

 my_repository/ ./some_file ./another_file ./tests/ ../foo ../bar 

Explicando un poco más: tengo la primera twig rastreando un repository remoto, y la segunda twig rastreando otro repository remoto.

En algún momento, cloné el segundo repository en otro lugar, agregué los files foo y bar a la carpeta de tests , y lo comprometí.

Luego, comencé a comprometerme y realizar cambios en mis files foo y bar de mi primera sucursal, mi clon oficial (origen / maestro). Ahora, me gustaría enviar estos cambios al segundo repository, pero no solo anular el contenido de los files. Me gustaría tener el historial de confirmaciones en la segunda twig también.

El problema es que este segundo repository coloca mis files en una location diferente.

¿Algun consejo?

Parece que estás buscando la estrategia de combinación de subtree (ver también aquí ).

No debería haber ningún problema. Hay dos treees con algo de contenido. Combínelos y coloque los files en un lugar u otro en la fusión y presione esa fusión.

Git no rastrea las identidades de los files, pero cuando realiza una fusión y nota un file que se modificó por un lado y no existe por el otro, busca files lo suficientemente similares como para que los cambios puedan aplicarse. Entonces, si los files son similares, git los combinará (y puedes moverlos a la otra location si lo deseas), si son diferentes, solo te dará los dos y tendrás que elegir (pero no intentar fusionarlos). en cualquier caso, sería un conflicto, por lo que el seguimiento de las identidades de los files no pierde nada).