Estoy intentando crear un enganche en un repository remoto que copyrá el código fuente que envío desde un git local, en diferentes carpetas de acuerdo con la twig a la que estoy enviando. Tengo 3 twigs en local: maestro, desarrollo y lanzamiento, por lo que deseo que en el control remoto haya 3 carpetas que contengan el código fuente de cada twig. Encontré eso usando:
git rev-parse –abbrev-ref HEAD
en combinación con una serie de condiciones podrían hacer el truco. El único problema es que HEAD permanece igual en remoto para cualquier twig a la que se envíe. ¿Hay algún código que pueda usarse en el gancho, para que sepa que estoy enviando a una determinada twig? ¿O hay algún otro método para hacer esto? ¡Gracias!
Su único repository tendrá las 3 twigs en él. Puede usar modificadores de git como este para hacer que 3 directorys separados se actualicen a lo que contiene cada twig:
git --work-tree=/some/project/dir/branch1 --git-dir=/path/to/bare/repo checkout branch1 -- .
Para evitar especificar esas opciones, puede establecer sus variables de entorno correspondientes:
GIT_WORK_TREE GIT_DIR
De esta forma, puede mantener un repository simple y 3 directorys separados que se actualizan cuando se empujan las twigs. Recuerde cuáles son los arguments que se proporcionan en su gancho. El primero es el nombre de la twig.