Tengo un repositorio CENTRAL que tiene tres repositorios de desarrolladores que lo empujan y lo empujan normalmente.
También tengo otros dos repositorios que extraen del repositorio central: uno es el servidor en vivo y el otro es un servidor de prueba / etapa, cada uno extrayendo de su propia rama respectiva.
El escenario es este: tengo un post-update
script de enlace en el repositorio CENTRAL que accede automáticamente a los repositorios de prueba y en vivo y ejecuta un comando de extracción en cada uno. Esto actualiza los servidores de prueba y en vivo, todo dependiendo de qué rama tiene nuevos commits. Todo esto funciona muy bien.
El problema es este: puede haber ocasiones en una emergencia en las que los archivos se actualicen directamente en el servidor (a través de ftp o lo que sea) y el script CENTRAL posterior a la actualización fallará, ya que se producirán conflictos de fusión / sobrescritura. No hay forma de evitar este escenario, y es inevitable.
Lo que me gustaría que sucediera es esto: quiero que la extracción de los sitios en vivo y de prueba siempre sobrescriba / combine en la extracción. Siempre. Estos repositorios serán solo de extracción ya que no son para el desarrollo.
En toda mi investigación, no puedo encontrar una buena solución para que una extracción siempre fuerce una sobrescritura de los archivos locales. ¿Es esto posible? Sería un gran escenario de desarrollo si es así.