Mejor práctica angular constante

Tengo una constante angular que define el punto final del service web

angular.module('myModule').constant('mywebservice_url', 'http://192.168.1.100') 

El problema es que para el desarrollador tengo un punto final diferente mientras que la puesta en escena y la producción son diferentes. Cada vez que trato de registrarme en git, tengo que restablecer manualmente este file.

  1. ¿Hay alguna manera de ignorar este file de manera permanente, pero verifica el file mientras clone o checkout ?
  2. ¿Hay alguna forma en que pueda hacer un file de captación angular dinámicamente a partir de algo así como una variable de entorno?

NOTA: No quiero depender del server para hacer esto, es decir, no quiero usar apach SSI o cualquiera de esas tecnologías, ya que solo funcionará un set de serveres.

  1. Retrasando la inyección a través del procesamiento de backend. Normalmente solo creo un object global en la página html llamado pageSettings cuyos valores se inyectan desde el back-end, es decir, variables de entorno, etc., y simplemente pageSettings object global pageSettings a esa constant o value angular.

  2. Inyección de sistema de compilation Si no tiene un backend, es decir SPA puro … tal vez puede poner esto dentro de su sistema de compilation, es decir, crear múltiples tareas para build los diferentes entornos en gulp o gruñido y replace ese valor durante el process de compilation.

En ea su código de inicio de aplicación:

 var x = location.hostname; 

Luego defina 2 constantes diferentes. Uno basado en el nombre de dominio de su entorno de desarrollo y otro basado en su producción.