Probablemente deba documentar el prefijo, URL y bifurcación para cada subárbol "ascendente" en algún fragmento de la documentación de su proyecto.
Los siguientes ejemplos muestran que esta información a menudo se registrará en los mensajes de confirmación de combinación de subárbol, pero esto depende de la forma exacta en que se realizan las fusiones y/o extracciones.
Considerar la fusión inicial subárbol crear con estos comandos:
git merge --no-commit sub/master
git read-tree -u --prefix=sub sub/master
git commit
El mensaje de registro será el siguiente:
Merge remote-tracking branch 'sub/master'
podemos ver que el control remoto fue nombrado sub
y la La rama se llamó master
, pero no vemos la URL. Puede agregar la URL al mensaje mientras realiza la confirmación manual en el último paso.
Más tarde, puede utilizar git pull
para incorporar nuevos cambios “aguas arriba”:
git pull -Xsubtree=sub sub master
El valor predeterminado mensaje de confirmación incluirá la URL del repositorio y el nombre de la sucursal:
Merge branch 'master' of server:path/to/repository
Por otra parte , las variaciones en la combinación inicial y las fusiones subsiguientes que se refieren directamente a los objetos de confirmación en lugar de usar un nombre de rama (por ejemplo, 15dbbda
en lugar de sub/master
) evitarán que se grabe el nombre de la rama; lo mismo ocurre con la grabación de la URL si alguien decide sacar de . remotes/sub/master
en lugar de sub master
.
Voy a modificar las bibliotecas que estoy importando, y no necesariamente quiero publicar esas modificaciones. ¿Los submódulos permiten tener modificaciones locales en los repositorios externos? ¿O son solo enlaces a los repositorios externos? – wanderingbear