Ho un repository nudo CENTRALE che ha tre repository di sviluppatori che eseguono il pull e il push normalmente.
Ho anche altri due repository che estraggono dal repository nudo CENTRALE: uno è il server live e l'altro è un server test / stage, ognuno dei quali estrae dal rispettivo ramo.
Lo scenario è questo: ho uno post-update
script hook sul repository CENTRAL che accede automaticamente al test e repository live ed esegue un comando pull su ciascuno. Questo aggiorna sia i server di prova che quelli attivi, tutto a seconda di quale ramo ha nuovi commit. Tutto funziona alla grande.
Il problema è questo: ci possono essere momenti in un'emergenza in cui i file possono essere aggiornati direttamente sul server (tramite ftp o altro) e lo script post-aggiornamento CENTRALE fallirà poiché si verificheranno conflitti di unione / sovrascrittura. Non c'è modo di evitare questo scenario ed è inevitabile.
Quello che vorrei che accadesse è questo: voglio che il pull dai siti live e di test sovrascriva / si unisca sempre al pull. Sempre. Questi repository saranno disponibili solo in quanto non sono destinati allo sviluppo.
In tutte le mie ricerche, non riesco a trovare una buona soluzione per avere un pull forzare sempre una sovrascrittura dei file locali. Questo è possibile? In tal caso sarebbe un grande scenario di sviluppo.