Per mesi ho cercato di pianificare una buona struttura di progetto per l'utilizzo del controllo versione git per lo sviluppo di siti Web WordPress che non sacrifichi la possibilità di aggiornare core e plugin attraverso il dashboard di WP, non richiede una struttura di directory non convenzionale (wp -content al di fuori della cartella principale di WP) e che è facile da gestire e distribuire interi siti Web. Ho letto di sottomoduli, sottotitoli, repository nidificati, ecc., E faccio ancora fatica a mettere tutto insieme e scegliere la giusta strategia.
Ecco cosa sto pensando in questo momento, con i miei pensieri su come gestire i repository git tra parentesi.
root (main project repo)
|-- wordpress (public git repo added as subtree)
| |-- wp-content
| | |-- plugins
| | | |-- my-custom-plugin (git repo added as subtree)
| | | |-- other-plugin-with-git-repo (git repo added as subtree)
| | | +-- other-plugin-without-git-repo (ignored/untracked)
| | |-- themes
| | | |-- my-custom-theme (git repo added as subtree)
| | | |-- other-theme-with-git-repo (git repo added as subtree)
| | | +-- other-theme-without-git-repo (ignored/untracked)
| | +-- uploads (ignored/untracked)
| |-- wp-admin
| +-- wp-includes
|-- wp-config.php (ignored/untracked)
+-- other-files.txt
Questo mi lascia con diversi problemi / domande;
Aggiornamenti automatici; Adoro la nuova funzionalità di aggiornamenti automatici, che potrebbe potenzialmente risparmiare un sacco di tempo e sforzi nel mantenere i miei siti aggiornati e sicuri, ma sembra che getta una chiave nel monitoraggio delle modifiche del codice con git. Esiste un modo per tenere traccia delle modifiche al mio codice pur consentendo l'aggiornamento automatico del core di WordPress?
Avere sottotitoli nel repository core di WordPress mi impedisce di usare git per unirmi a nuovi aggiornamenti core o rimandare le mie modifiche al repository core di WordPress (se dovessi mai decidere che vorrei essere un collaboratore principale)?
Per i plug-in che non dispongono di un repository git pubblico, ignorarli completamente crea il problema di non poter clonare rapidamente l'intero sito su un nuovo server senza copiare manualmente i file sul server. Inoltre, causa un problema se voglio apportare modifiche al codice di quel plug-in che tali modifiche non vengono monitorate e potrebbero essere facilmente perse in un aggiornamento del plug-in.
Quindi, per riassumere, cos'è una buona configurazione git + WordPress che evita questi problemi? Gradirei il tuo feedback sulla struttura del mio progetto proposto. Qualunque modo tu mi possa aiutare a migliorare questo, sarebbe molto apprezzato!
PS, se esiste un forum migliore per questa discussione, ti prego di indicarmi lì.