Risposte:
Alcuni strumenti recentemente aggiunti al wiki di Git :
git-ftp di René Moser è un semplice script di shell per eseguire FTP in modo Git. Usa git-ftp.sh per caricare solo i file tracciati Git su un server FTP, che sono cambiati dall'ultimo caricamento. Ciò consente di risparmiare tempo e larghezza di banda. Anche se giochi con diversi rami, git-ftp.sh sa quali file sono diversi. Nessun normale client FTP può farlo.
git-ftp di Edward Z. Yang è un semplice script scritto in Python per caricare file in un repository Git via FTP, trasferendo solo nuovi file e rimuovendo vecchi file.
Se preferisci la GUI, usa SourceTree, puoi facilmente impostare un'azione personalizzata che usa git-ftp sopra menzionato. Una breve descrizione dell'installazione (per Mac) sul repository Push a Git su FTP
Ho trovato PHPloy un ottimo strumento per inviare i tuoi commit Git a server remoti su FTP. Funziona dalla riga di comando ed è scritto in PHP (e rileva anche i cambiamenti nei sottomoduli).
https://github.com/banago/PHPloy
git commit ...
phploy -s staging
phploy -s production
Fatto!
(Dichiarazione di non responsabilità: dopo averlo usato per un po 'ora ho contribuito con alcune patch di codice e miglioramenti, rendendolo compatibile con Windows.)
Se sei su un Mac e hai Transmit, ti consiglio il seguente script git-tranmit ( https://gist.github.com/379750 ). Utilizza DockSend per inviare solo gli ultimi file aggiornati. Se non hai familiarità con DockSend, consulta http://www.panic.com/blog/2010/11/15-secrets-of-transmit/ .
Impostare:
Questo non è ciò che serve a git, a rigor di termini. Tuttavia, se la tua fonte è qualcosa che non ha bisogno di compilazione o elaborazione, ad esempio un sito Web costituito interamente da file html e javascript e simili, potresti avere un clone del repository sul tuo server web e utilizzare git pull
dal server per continuare -ad oggi. Nota, vorrei configurare il tuo server web per nascondere la directory git e così via. E questo è solo l'inizio dei problemi di sicurezza.
Se hai qualsiasi tipo di compilazione o elaborazione, dovresti iniziare a guardare Ant , Maven , BuildR , SBT , ecc.
Puoi usare Deployhq.com che funziona come un incantesimo, l'unica cosa che devi fare è configurare il tuo repository e il tuo account FTP.
Attualmente sono i seguenti sistemi di controllo della versione:
Git, Subversion, Mercurial.
Con repository ospitato
Questo è uno script in PHP per caricare quasi automaticamente git-diff su un server FTP:
Gratuito per un progetto e funziona molto bene.
C'è uno script Ruby qui - Ruby git-deploy via FTP o SSH che carica solo i file modificati nel repository git tramite FTP o SSH.
Come menzionato in un'altra risposta, ecco lo script git-ftp.py di Python che fa una cosa simile.
Ed ecco la versione dello script di shell di git-ftp .
Esiste anche un progetto gemma di Ruby chiamato git-deploy che consente di configurare una distribuzione personalizzata tramite un telecomando git usando il git push
comando, allo stesso modo dei servizi Heroku e Azure. Per questo potrebbe essere necessario scrivere metodi personalizzati da distribuire via FTP e penso che si presupponga che si abbia accesso SSH al proprio server di produzione.
Se stai mettendo in produzione il codice, ti consiglio di usare un "installer" come un pacchetto RPM per installare il tuo codice. In questo modo verrà stampato la versione e sarai in grado di sfruttare il pacchetto di installazione per supportare gli aggiornamenti del codice di produzione. Git non è davvero progettato per supportare installazioni di produzione, è destinato a tenere traccia delle modifiche al codice stesso.
In ogni caso, con un .RPM (o EXE o altro) creato, puoi semplicemente inviarlo via FTP al sistema di produzione e installarlo come qualsiasi altro pacchetto.
Puoi sempre provare a montare l'ftp in una directory locale usando http://linuxconfig.org/mount-remote-ftp-directory-host-locally-into-linux-filesystem .
Quindi puoi usarlo allo stesso modo di questo .
Stavo lottando molto per capirlo. Ho trovato un modo semplice per farlo da varie fonti ( git-ftpINSTALL , git-ftpUPLOAD , git-ftpIssue , git-ftpPUSH ). Puoi leggere come riferimento ma non è necessario perché ho citato il processo passo dopo passo.
Prima cosa: installa git e curl usando brew su MAC OS
brew install git
brew install curl --with-ssl --with-libssh2
brew install git-ftp
Esegui i seguenti comandi:
git clone https://github.com/git-ftp/git-ftp.git
cd git-ftp
git tag # see available tags
git checkout <tag> # checkout the latest tag by replacing <tag>
sudo make install
Aggiornamento tramite git
git pull
git tag # see available tags
git checkout <tag> # checkout the latest tag by replacing <tag>
sudo make install
Impostare
git config git-ftp.url YourFtpServerName.Net
git config git-ftp.user FtpUserName
git config git-ftp.password YourPassword
Carica tutti i file
git ftp init
O se i file sono già lì
git ftp catchup
Lavora e distribuisci
echo "Hello StackOverflow" >> index.txt
git commit application/libraries/index.txt -m "I love StackOverflow"
git ftp push
Se si verifica un errore: pathspec 'index.txt' non corrisponde ad alcun file noto a git . Significa che il file non è stato ancora messo in scena, quindi aggiungi il file e prova a eseguire il commit.
git add application/libraries/index.txt
git commit application/libraries/index.txt -m "I love StackOverflow"
Spero che questo ti aiuti.
Puoi provare FTPloy ...
"Invia modifiche a GitHub o Bitbucket."
"Distribuisci le modifiche automaticamente sul tuo server"
Hai un progetto gratuito con cui provarlo. Attualmente sto usando un piccolo sito Web PHP e funziona abbastanza bene. Alcuni bug sul sito, ma è un progetto attivo, quindi almeno ci stanno lavorando.
Dai un'occhiata a https://gitftp-deploy.com/ se sei su MacOS e ti piacciono le GUI.
È una piccola e simpatica applicazione che utilizza Git per tenere traccia delle modifiche e caricare solo i file modificati con FTP.
Particolarmente utile se non ti piace pagare canoni mensili per dozzine di progetti più piccoli con piccoli team.