Usar Git para administrar un file con contenido diferente para cada twig y fusionar

Tengo un file app.yaml y php.ini que tiene un set diferente de configuraciones para la puesta en escena y la producción.

Quiero crear 3 twigs separadas. 1) Local, 2) Puesta en escena, 3) producción.

El problema es que si bifurco y creo diferentes files para cada entorno, una configuration será sobrescrita por la otra cuando realice una fusión. Por ejemplo, cuando fusiono mi twig de transición en producción, el file de configuration ahora contendrá configuraciones de transición y no funcionará en el entorno de producción.

¿Cómo puedo solucionar este problema mientras sigo los cambios de cada file en twigs individuales a través de git? No quiero agregar los files de configuration a .gitignore.

Sugiero tener las configuraciones como variables de entorno, evito publicar mis keys secretas y otras configuraciones de producción en git. Cada entorno puede tener su propia configuration distinta

Este no es realmente un uso práctico de git. Lo que recomendaría hacer es escribir el file de una manera que diga algo como:

IF 'Local' Then ... ELSE IF 'Staging' Then ... ELSE IF 'Production' Then ... ELSE ... END IF 

En lugar de tener un file separado para cada twig.