Réponses:
Quelques outils récemment ajoutés au wiki Git :
git-ftp de René Moser est un simple script shell permettant de faire du FTP à la manière Git. Utilisez git-ftp.sh pour télécharger uniquement les fichiers suivis Git sur un serveur FTP, qui ont changé depuis le dernier téléchargement. Cela économise du temps et de la bande passante. Même si vous jouez avec des branches différentes, git-ftp.sh sait quels fichiers sont différents. Aucun client FTP ordinaire ne peut faire cela.
git-ftp par Edward Z. Yang est un simple script écrit en python pour télécharger des fichiers dans un référentiel Git via FTP, ne transférant que de nouveaux fichiers et supprimant les anciens fichiers.
Si vous préférez l'interface graphique, utilisez SourceTree, vous pouvez facilement configurer une action personnalisée qui utilise git-ftp mentionné ci-dessus. Une brève description de la configuration (pour Mac) à Push a Git repository to an FTP
J'ai trouvé PHPloy un excellent outil pour envoyer vos commits Git à des serveurs distants via FTP. Il fonctionne à partir de la ligne de commande et est écrit en PHP (et détecte même les changements dans les sous-modules).
https://github.com/banago/PHPloy
git commit ...
phploy -s staging
phploy -s production
Terminé!
(Clause de non-responsabilité: après l'avoir utilisé pendant un certain temps, j'ai maintenant apporté des correctifs et des améliorations de code, le rendant compatible avec Windows.)
Si vous êtes sur un mac et que vous avez Transmit, je vous recommande le script git-tranmit suivant ( https://gist.github.com/379750 ). Il utilise DockSend pour envoyer uniquement les derniers fichiers mis à jour. Si vous n'êtes pas familier avec DockSend, consultez http://www.panic.com/blog/2010/11/15-secrets-of-transmit/ .
Installer:
Ce n'est pas à cela que sert git, à proprement parler. Cependant, si votre source est quelque chose qui n'a pas besoin de compilation ou de traitement, par exemple un site Web composé entièrement de fichiers html et javascript, etc., vous pouvez avoir un clone du dépôt sur votre serveur Web et l'utiliser à git pull
partir du serveur pour le maintenir. -à ce jour. Remarque, je configurerais votre serveur Web pour masquer le répertoire git et autres. Et ce n'est que le début des problèmes de sécurité.
Si vous avez une sorte de compilation ou de traitement, vous devriez commencer à regarder Ant , Maven , BuildR , SBT , etc.
Vous pouvez utiliser Deployhq.com cela fonctionne comme un charme, la seule chose que vous devez faire est de configurer votre référentiel et votre compte FTP.
Ils ont actuellement les systèmes de contrôle de version suivants:
Git, Subversion, Mercurial.
Avec dépôt hébergé
Il s'agit d'un script en PHP pour télécharger presque automatiquement le git-diff sur un serveur FTP:
Gratuit pour un projet et cela fonctionne très très bien.
Il y a un script Ruby ici - Ruby git-deploy via FTP ou SSH qui télécharge uniquement les fichiers modifiés dans le référentiel git via FTP ou SSH.
Comme mentionné dans une autre réponse, voici le script Python git-ftp.py qui fait une chose similaire.
Et voici la version du script shell de git-ftp .
Il existe également un projet Ruby gem appelé git-deploy qui vous permet de configurer un déploiement personnalisé via une télécommande git à l'aide de la git push
commande, de la même manière que les services Heroku et Azure. Pour celui-ci, vous devrez peut-être écrire des méthodes personnalisées à déployer via FTP et je pense que cela suppose que vous avez un accès SSH à votre serveur de production.
Si vous mettez du code en production, je vous recommande d'utiliser un "installateur" tel qu'un package RPM pour installer votre code. De cette façon, la version sera estampillée et vous pourrez utiliser le package d'installation pour prendre en charge les mises à jour du code de production. Git n'est pas vraiment conçu pour prendre en charge les installations de production, il est destiné à suivre les modifications du code lui-même.
Dans tous les cas, avec un .RPM (ou EXE ou autre) construit, vous pouvez simplement le transférer par FTP sur le système de production et l'installer comme n'importe quel autre package.
Vous pouvez toujours essayer de monter le ftp dans un répertoire local en utilisant http://linuxconfig.org/mount-remote-ftp-directory-host-locally-into-linux-filesystem .
Ensuite , vous pouvez l' utiliser de la même manière que cela .
J'avais beaucoup de mal à comprendre cela. J'ai trouvé un moyen simple de faire cela à partir de diverses sources ( git-ftpINSTALL , git-ftpUPLOAD , git-ftpIssue , git-ftpPUSH ). Vous pouvez lire pour référence mais ce n'est pas nécessaire car j'ai mentionné le processus étape par étape ci-dessous.
Tout d'abord: installez git et curl en utilisant brew sur MAC OS
brew install git
brew install curl --with-ssl --with-libssh2
brew install git-ftp
Exécutez les commandes suivantes:
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
Mise à jour avec git
git pull
git tag # see available tags
git checkout <tag> # checkout the latest tag by replacing <tag>
sudo make install
Installer
git config git-ftp.url YourFtpServerName.Net
git config git-ftp.user FtpUserName
git config git-ftp.password YourPassword
Télécharger tous les fichiers
git ftp init
Ou si les fichiers sont déjà là
git ftp catchup
Travailler et déployer
echo "Hello StackOverflow" >> index.txt
git commit application/libraries/index.txt -m "I love StackOverflow"
git ftp push
S'il y a une erreur: pathspec 'index.txt' ne correspond à aucun fichier connu de git . Cela signifie que le fichier n'a pas encore été mis en scène, alors ajoutez le fichier, puis essayez de le valider.
git add application/libraries/index.txt
git commit application/libraries/index.txt -m "I love StackOverflow"
J'espère que cela t'aides.
Vous pouvez essayer FTPloy ...
"Poussez les modifications sur GitHub ou Bitbucket."
"Déployer automatiquement les modifications sur votre serveur"
Vous avez un projet gratuit pour l'essayer. J'utilise actuellement pour un petit site Web php et cela fonctionne assez bien. Quelques bugs sur le site mais c'est un projet actif donc au moins ils y travaillent.
Consultez https://gitftp-deploy.com/ si vous êtes sur MacOS et que vous aimez les interfaces graphiques.
C'est une jolie petite application qui utilise Git pour suivre les modifications et télécharger uniquement les fichiers modifiés avec FTP.
Particulièrement pratique si vous n'aimez pas payer des frais mensuels pour des dizaines de petits projets avec de petites équipes.