files git y html

Me gustaría mantener dos versiones de un file html estático en mi repository de git. Ambos son básicamente idénticos, a exception de los enlaces para scripts, medios, etc. (versión dev vs. versión en vivo).

En este momento, mantengo la versión dev en repository, y sobrescribo los valores de la versión en vivo manualmente en la máquina en vivo (= Tengo cambios locales de git ahí). No estoy contento con esta configuration, porque hay trabajo manual para cada push / pull.

¿Cuál es el mejor flujo para administrar files que no se pueden dividir en secciones config / rest (como HTML)?

Tú podrías…

  • Elimine el file de su repository y complételo manualmente. Si no cambia muy a menudo, esto funciona bien.
  • Elimine el file de su repository y lo genere a partir de una plantilla mediante una secuencia de commands posterior a la fusión en .git/hooks/post-merge (este enlace se ejecuta, por ejemplo, después de git pull ).
  • Asigne un nombre al file después de la twig o nombre de host o alguna otra variable (p. Ej., static.master.html vs. static.develop.html , etc.) y determine dinámicamente cuál usar en time de ejecución.

Esas son algunas ideas. Me imagino que otras personas aportarán sugerencias adicionales.

Ampliando el segundo punto por larsks :

Podría conservar dos copys en el repository (digamos que era su página de inicio) index.dev.html e index.prod.html. En el control remoto, su script post-fusión podría hacer algo como:

 cp -a index.prod.html index.html 

o

 truncate -s 0 index.html cat index.prod.html >> index.html 

Otro problema además del cambio de nombre es mantener el contenido de ambos files sincronizados. Por lo tanto, tener files dedicados por la misma razón y solo diferir en un path menor es mucha networkingundancia, si cambias uno, tienes que pensar en actualizar el otro también.

OK, usted indicó que el file HTML es estático, pero aquí una línea de PHP para generar la diferencia resolvería nuestro problema Achim