2010-01-21 18 views
7

Mi piacerebbe applicare il controllo di revisione - usando git - al mio sviluppo del sito web basato su WordPress.Git e WordPress (+ gestione di plugin e media)

Sulla base delle mie preoccupazioni di seguito, come faccio?

Preoccupazione 1: Pushing "modifiche granulari"
In questo caso specifico, è difficile imitare l'ambiente server web locale. Pertanto, vorrei spingere i cambiamenti molto spesso. Posso inviare modifiche al "server secondario" al server web per evitare commit "irrilevanti"? (E devo impostare un repo git sul mio webserver remoto a tutti?)

Preoccupazione 2: Plugin e mezzi di movimentazione
In precedenza, io ei miei colleghi sono stati montaggio/updateing plugin e media caricato da Interfaccia di amministrazione di WordPress. Se mi piacerebbe anche mantenere i media e i plug-in sincronizzati, come si otterrebbe?

Apprezzerei tutte le risorse che descrivono come impostare un flusso di lavoro che mi consenta di mantenere localmente tutti i miei file (WordPress + plugin, media, temi ecc.), Mentre allo stesso tempo mi consente di inviare "modifiche granulari" al mio webserver e "veri commit" a Github.

+0

Cosa hai finito con la gestione dei plugin e dei media? Sto cercando di capire la stessa parte del mio flusso di lavoro in questo momento. –

+0

Ciao @JosiahSprague, faccio tutto lo sviluppo. localmente (incluse installazioni di plugin) e utilizzare lo scheletro di WordPress https://github.com/markjaquith/WordPress-Skeleton per separare il WP principale dalle mie modifiche. Lo scheletro separa anche i media, che è una buona pratica in quanto potresti voler servire da un'altra posizione. – dani

+0

Freddo. Questo è simile a quello che ho trovato nel mio ultimo progetto, ma non mi piace come la directory dei contenuti sia al di fuori della directory di Wordpress, semplicemente perché alcuni plugin scritti male non sono compatibili con quella configurazione. –

risposta

3

Per quanto riguarda Concern1, è possibile isolare quei micro cambiamenti in un ramo.

In sostanza, il vostro repo locale ha due rami:

  • uno dedicato al vostro granulare impegna
  • un (maestro) per GitHub

Si può spingere tutto a:

  • il tuo sito web, su un repository nudo, e poi clonarlo e checkout il ramo "granulare".
  • GitHub, con il master aggiornato con i commit "reali".

Per pulire la vostra storia e costruire i tuoi veri commit, è possibile rebase il ramo granulare sulla parte superiore del maestro in modo interattivo:

git checkout master 
git rebase -i granular 

che era si sceglie, squash o modificare commit realizzati in granuli , riproducendo un set più pulito di commit sul master.
Questo riscrive la cronologia granulare, ma questo non è male se nessuno tira direttamente da questo ramo.
Se si desidera conservare la cronologia granulare, solo merge o cherry-pick alcuni si commettono da granular a master.

ci sono diversi esempio di gestione di Wordpress con Git:

L'ultimo collegamento è il più dettagliato sul processo di aggiornamento di WordPress e termina anche con un rebase delle modifiche;