GitLab: ignore los files específicos en la twig de destino

Estoy usando GitLab en mi proyecto y tengo un flujo de trabajo bastante específico. Tengo 2 twigs " Dev " y " Release " como se muestra a continuación. Cuando envío una request de fusión de Dev a Release, los files de configuration también se sobrescriben con los de la twig Dev.

enter image description here

Pero idealmente los files de configuration deben ser diferentes para ambas twigs. Intenté usar merge=ours . Pero no cumplió mi propósito, ya que no se anulará hasta que exista un conflicto en los files de configuration. No quiero agregar estos files en .gitignore , ya que los cambios en estos files no se confirmarán en la twig Dev . ¿Puede alguien por favor guiarme cómo lograr esto?

Simplemente puede asegurarse de que sus files de configuration para dev y master tengan un nombre diferente, con su propio historial. De esta forma, una fusión nunca sobrescribirá nada.

Luego puede versionar y rastrear:

  • un config.tpl (file de plantilla con valores de marcador de position).
  • dos files de configuration, uno para dev, uno para maestro
  • un script capaz de tomar un file de configuration y un file de plantilla, y producir el file de config (que permanece sin seguimiento, privado)
  • a .gitignore que ignora el file de config generado resultante
  • un .gitattribute declara un filter de contenido de manchas (ver a continuación)

La generación del file de configuration se automatiza a través de un controller de filter de contenido , utilizando una statement de .gitattributes .

http://sofes.miximages.com/git/tumAc.png
(image de "Personalizar Git – Atributos de Git" de " Pro Git book "))

Una vez que declare ese controller de file de contenido en su configuration local, automáticamente, en el process de git checkout , generará su file de config por usted.
Vea un ejemplo completo en " Best practice – Git + Build automation – Keeping configs separate ".

Intereting Posts