Sono nuovo di SVN e c'è qualcosa in cui sono bloccato. Per molto tempo ho sviluppato siti Web localmente (configurazione MAMP) e poi ftping l'intero sito dal vivo quando è pronto. Qualsiasi piccola modifica aggiuntiva che faccio direttamente sul sito live e ogni tanto scaricherò nuovamente tutti i file sul server live sul mio localhost (dato che non riesco mai a ricordare tutti i file che ho modificato). Ovviamente questo non è il modo migliore di fare le cose. Ero curioso di sapere come installare SVN su un server web live, quindi ogni modifica che apporto localmente verrà inviata sul sito web quando lo dirò. Dove posso creare il repository SVN? /domain.com/www/svn? Posso creare la directory www come il repository effettivo, e se è così questa cattiva pratica?Come usare svn su un server live Apache?
risposta
Non creare il repository nella directory del server Web! Questa è la prima parte del tuo problema.
Il repository può essere utilizzato ovunque, ma non inserirlo nella directory del server web.
Quando si configura Apache httpd (se è quello che si sta utilizzando), configurarlo per ignorare .svn cartelle in questo modo:
<DirectoryMatch \.svn>
Order allow,deny
Deny from all
</DirectoryMatch>
Ora, da qualche altra parte, diverso da server web, creare un Subversion repository. Effettua il checkout da quel repository in una directory di lavoro da qualche altra parte che non è nella directory del tuo server web. Ora puoi importare tutti i file presenti nel tuo repository e trasferirli nel tuo repository Subversion.
Una volta fatto, è possibile andare nella directory del server Web in cui si desidera visualizzare questi file e fare un checkout.
Si dovrebbe avere tre cose:
- un repository Subversion che è non nella directory del server web.
- Una directory di lavoro che contiene tutti i file nel tuo sito Web che è non nella directory del server web.
- Una directory di lavoro che si trova nella directory del server web.
Il piano è questo: si apportano le modifiche nella directory di lavoro che non si trova nella directory del server Web. Puoi fare i tuoi test qui e commettere le tue modifiche qui. Anche tu fai tutti i tuoi test qui.
Una volta che sei soddisfatto di tutto, puoi quindi fare uno svn update
nella directory di lavoro di Subversion che si trova nella directory del tuo server web. Quindi, fai il tuo lavoro al di fuori del webserver, prova, e poi fai un svn update
nella directory del webserver.
Se si vuole essere davvero fantasiosi, è possibile creare un ramo Web che rappresenterebbe il codice nella directory del server web. Quindi, puoi controllare il tuo codice dentro e fuori tutto quello che vuoi. Quando sei pronto per implementarlo nel tuo sito Web, puoi unirlo al ramo web. Quando aggiorni la directory di lavoro nella directory del tuo server web, verrà solo inserito il codice sul ramo web.
In effetti, è possibile automatizzare tale processo con una sorta di cronjob. Si porta giù il sito Web, si aggiorna la directory di lavoro di subversion nella directory del server Web e quindi si riavvia il sito Web. Ciò garantisce che i file visualizzati da un utente Web non vengano modificati da sotto di essi.
Grazie mille, penso che tu abbia risposto alla mia domanda, ma devo ancora fare qualche altra ricerca su svn da parte mia per assicurarmi di capirlo. Ho trovato un diagramma veloce, puoi controllare questo e vedere se sto capendo correttamente? http://danramosd.com/svn_diagram.png – dan
Siamo spiacenti, non ho visto il diagramma. I primi due capitoli del [libro di Subversion] (http://svnbook.red-bean.com/en/1.5/index.html) spiegano come funziona. È uno dei migliori manuali open source che abbia mai visto. Poiché Subversion è gratuito, scaricalo e segui gli esempi nel libro. Con in una settimana, avrai un'idea eccellente di come funziona Subversion. Uso Git e Subversion per i miei progetti, ma preferisco Subversion per vari motivi. –
buon consiglio per bloccare le cartelle .svn dalle richieste http. –
vorrei impostare una struttura in checkout svn (sulla propria macchina locale) che corrisponde ai file necessari per memorizzare (e non corrispondono necessariamente la struttura del server), per esempio:
my-project
my-project/docs/README.txt (any documentation you want to write)
my-project/www/index.html (etc)
e presto. Poi,
(1) Se si ha accesso a eseguire comandi sul server, vorrei accedere e fare ad esempio:
cd /domain.com
rm -rf www
svn co https://svn.myserver.com/my-project/www www
(2) In caso contrario, vorrei estrarre i file sul computer locale e inviarli via ftp al server.
L'opzione (1) è migliore ma anche con l'opzione (2) si hanno dei vantaggi rispetto alla configurazione attuale. Se si modificano i file sul server, è possibile reindirizzare l'intera directory alla propria casella locale in una nuova directory, quindi "impegnare" i file sul server di subversion. Subversion (con le directory .svn
, che è necessario copiare/dal server) saprà quali file sono stati modificati.
- 1. PHP Profiler per un sistema live su Apache
- 2. Come posso convertire un file di certificato PFX da usare con Apache su un server Linux?
- 3. Server di streaming live HTTP su iPhone
- 4. Distribuzione di Django su un server Apache
- 5. Come usare Apache DBSCANClusterer
- 6. Configurare un server SVN?
- 7. Come implementare il server HTTP Live Streaming su Unix?
- 8. CollabNet SVN Server o VisualSVN?
- 9. Distribuzione da PHP a Live Server
- 10. Server live WebSocket
- 11. Come creare un repository SVN sul server?
- 12. Come abilitare correttamente mod_status su un server Apache?
- 13. Come eseguire il debug di un'applicazione asp.net su server live
- 14. Accesso a '/ svn/ctm /! Svn/me' vietato Quando si esegue il commit al server svn?
- 15. come usare "AND", "OR" per RewriteCond su Apache?
- 16. SVN server per Mac OSX
- 17. Come usare django-compressor con apache?
- 18. fcgi vs mod_fastcgi su server apache
- 19. Profilo sul server live Django?
- 20. Setup mod_proxy su server http apache
- 21. Git push al server live
- 22. È possibile utilizzare Apache Thrift su un normale server web?
- 23. Usa il file .htaccess su un server localhost apache
- 24. tipo carattere MFT woff su errore live server
- 25. È ragionevole usare un ramdisk su un server di build?
- 26. Utilizzo di SVN con un sito Web di gestione temporanea e live
- 27. YouTube live su iOS?
- 28. android 3d live wallpaper - quale motore usare?
- 29. Git-SVN: aggiornamento del repository Git dal server SVN centralizzato
- 30. Esecuzione di Apache mod_php e mod_fastcgi in vhosts separati su un server Apache
Il server Web live dispone di connettività al server Subversion? – jgifford25