2013-02-20 12 views
7

Sto sviluppando un tema wordpress che è sotto controllo versione utilizzando Git e in un'area di sviluppo locale (WAMP). Spingo il commit su bitbucket usando smartgit come interfaccia grafica. Ho 2 rami, master e sviluppo. Voglio distribuire il ramo di sviluppo in un'area di gestione temporanea (un'installazione di wordpress sul mio server live). Ho provato a utilizzare ftploy che lo raggiunge; tuttavia non sembra consentirmi di scegliere quale ramo distribuire e voglio riservare la distribuzione del ramo principale per la distribuzione finale effettiva. Sto usando l'hosting condiviso ma ho accesso SSH. Come posso raggiungere al meglio l'implementazione del ramo di sviluppo sull'hosting condiviso. Git non è installato sul server (e non può essere)Distribuire progetto Web sotto controllo di versione GIT su hosting condiviso

+0

è git installato sul server? – Chronial

+0

no ... scusa ho dimenticato di menzionare ... aggiornerò la domanda – byronyasgur

risposta

6

uno sguardo alla git-ftp:

Io uso git-ftp per i miei progetti basati copione, per lo più di PHP. La maggior parte delle società di hosting web a basso costo non fornisce supporto SSH o git, ma solo FTP .

Ecco perché avevo bisogno di un modo semplice per distribuire i miei progetti git tracciati. Invece di trasferire l'intero progetto, ho pensato, perché non solo trasferire i file che hanno cambiato dall'ultima volta, git possono dirmi quei file.

Anche se si sta giocando con diversi rami, git-ftp sa che file sono diversi. Nessun client FTP ordinario può farlo.

+0

Grazie. In realtà speravo davvero in qualcosa di automatico. Il punto è che quando scopro qualche bug nell'area di staging (principalmente lo sto facendo per la convalida di w3c) posso apportare modifiche localmente e spingere sul server. Penso che con git-ftp devo digitare alcuni comandi nel prompt, insieme al commit e al push, e insieme al fatto che non sono particolarmente felice in cmd non è il mio flusso di lavoro "ideale"; ma lo userò se devo. Pensi che questa sia l'opzione migliore che posso ottenere? Suppongo che mi chiedo perché un programma come smartgit non può semplicemente essere implementato su ftp? – byronyasgur

+0

È possibile scrivere git post-commit e post-merge per eseguire git-ftp su commit e merge. Puoi indirizzare specifici rami solo se questo è il tuo comportamento desiderato. –

+0

@JonathanPatt Se li avessi scritti dovrei fare qualcosa di speciale per farli funzionare quando ho eseguito il commit o l'unione tramite la GUI Smartgit? – byronyasgur

1

Terminato utilizzando this script che fa esattamente quello che voglio. In realtà è stato scritto dallo stesso ragazzo che ha creato ftploy ma poiché ho avuto accesso allo script sono stato in grado di determinare quale ramo è stato schierato. Tra l'altro ho scoperto che lo ftploy roadmap include la possibilità di selezionare Branch per progetti Bitbucket.

+1

Attenzione! Sembra che si romperà pesantemente quando premi più di un commit alla volta. Consiglio vivamente di seguire il consiglio di Jonathan e scrivere un hook post-commit per git-ftp. – Chronial

+0

@Chronial Grazie per l'avviso ... cosa ti fa pensare questo? – byronyasgur

+1

Lo script guarda solo le modifiche dall'ultimo commit-ever (si veda: 'commit [0]'). Dopo aver inviato più commit, il tuo ftp uscirà dalla sincronizzazione e non tornerà più allo stato corretto. – Chronial

4

Sono il fondatore di FTPloy e volevo solo farvi sapere che ora abbiamo rilasciato la funzionalità di selezione delle filiali.

Problemi correlati