Diciamo che hai una gerarchia di promozione del codice composta da diversi ambienti, (la parte polare) due dei quali sono sviluppo (dev) e produzione (prod).
Diciamo che hai anche un'applicazione web in cui i file importanti (ma non controllati dallo sviluppatore) vengono creati (e forse modificati) nell'ambiente di produzione.
Diciamo che tu (o qualcuno sopra di te) hai deciso che i file controllati / creati / alterati / eliminati nell'ambiente di produzione dovevano entrare nel repository.
Quale dei seguenti due gruppi di pratiche / approcci trovi meglio:
-
Commettere queste modifiche di file non sviluppate apportate nell'ambiente di produzione in modo che il repository assomigli all'ambiente di produzione il più vicino e il più spesso possibile.
-
Generalmente ignorando le alterazioni dell'ambiente di produzione non sviluppato, confidando nei backup per ripristinare l'ambiente di produzione nel caso in cui fosse danneggiato e mantenendo una risoluzione per evitare di spingere gli sviluppi attraverso la gerarchia della promozione nella direzione opposta (evitando di spingere prod a dev), impegnando solo i file trovati nell'ambiente di produzione se fossero assolutamente necessari in altri ambienti per lo sviluppo.
Quindi, 1 o 2, e perché?
PS - Al momento sono leggermente prevenuto verso il mantenimento dell'ambiente di produzione per la somiglianza del repository (opzione 1), ma tengo una mente aperta e accetterei una risposta a supporto di entrambi.