git diferentes files de configuration entre sucursales

Estoy tratando de tener el mismo file de configuration en dos twigs diferentes. Quiero tener el file en la twig de desarrollo bajo control de revisión y en la twig de producción fuera del control de revisión. Así que estoy intentando lo que se sugiere aquí.

http://cogniton-mind.tumblr.com/post/63560840467/howto-gitignore-for-different-branches-update

Tengo el file config / config.php git rm y luego lo agregué en mi .gitignore. Agregué, comprometí y presioné para la producción de twigs. Puse una copy del file en el lugar original y en mi estado de git veo, como era de esperar, que no hay que comprometer nada. Pago mi twig de desarrollo y hago algunos cambios en ese file. Agregar, comprometer y presionar para desarrollar. Compruebo la producción, bash fusionarme para desarrollar la producción y obtengo lo siguiente.

CONFLICT (modify/delete): config/config.php deleted in HEAD and modified in develop. Version develop of config/config.php left in tree. 

¿Hay que evitar esto y tener el file en desarrollo bajo control de revisión y en producción no en control de revisión?

Otra forma sería no jugar con el file gitignore , y usar un controller de filter de contenido (un script de smudge ejecutado automáticamente al finalizar la compra) para generar automáticamente el file de configuration correcto (que no sería versionado)

mancha

Lo que tu versión es:

  • un file de plantilla
  • un file de configuration dev
  • una secuencia de commands capaz de detectar qué twig está desprotegida:
    • si es la twig de desarrollo, genera el file de configuration a partir de los valores de configuration de desarrollo y los files de plantilla
    • si es la twig de prod , genera el file de configuration de prod desde un valor de configuration de prod obtenido fuera del repository de git y el file de plantilla

De esta forma, no se arriesga a presionar por error ningún valor "secreto" (se almacenan "en otro lugar"), y siempre obtiene el file de configuration correcto.