J'essaie de décider si le passage à VCS est judicieux pour moi. Je suis développeur web unique dans une petite organisation (5 personnes). Je pense à VCS (Git) pour ces raisons: contrôle de version, sauvegarde hors site, référentiel de code centralisé (accessible depuis la maison).
En ce moment je travaille sur un serveur live en général. Je me connecte par FTP, fais mes modifications et les enregistre, puis télécharge et actualise à nouveau. Les modifications concernent généralement des fichiers de thème / plugin pour les CMS (par exemple Concrete5 ou Wordpress). Cela fonctionne bien mais ne fournit aucune sauvegarde et aucun contrôle de version.
Je me demande comment intégrer au mieux VCS dans cette procédure. J'envisagerais de mettre en place un serveur Git sur le serveur Web de l'entreprise, mais je ne sais pas comment pousser les modifications sur les comptes clients (généralement des VPS sur le même serveur) - pour le moment, je me connecte simplement à SFTP avec leurs coordonnées et je fais les changements directement.
Je ne sais pas non plus ce qui représenterait raisonnablement un référentiel - le site Web de chaque client en aurait-il un qui lui appartienne?
Toute idée ou expérience serait vraiment utile. Je ne pense pas avoir besoin de la pleine puissance de Git, mais le contrôle de version de base et l'accès de facto au cloud seraient vraiment utiles.
EDIT: Je l'ai réduit aux deux options qui semblent les plus sensées. La première est basée sur la réponse de ZweiBlumen , selon laquelle les modifications sont effectuées sur le serveur en direct et validées à partir de là sur le serveur (externe) Git. Cela a l'avantage que mon flux de travail ne changera pas beaucoup (il y a l'étape supplémentaire de faire les commits, mais sinon c'est identique).
La deuxième option consiste à travailler localement à l'aide de XAMPP, puis à valider les modifications à partir de la machine locale. Ce n'est que lorsque le site est en ligne que je télécharge l'article fini sur le serveur Web à partir de la machine locale (immédiatement après la validation finale de Git). Cela semble correct en théorie, mais si le site nécessite des modifications et que je les fais sur le serveur en direct (comme je le fais habituellement), je devrai copier manuellement les fichiers modifiés dans mon référentiel local, puis valider ces modifications dans le Serveur Git. Cela semble indûment complexe et est peut-être trop différent de mon flux de travail actuel.
Je pense que tout compte fait, je vais essayer l'option n ° 1 et voir comment je m'en sors.
la source
Réponses:
Ce que je fais (avec Subversion, mais fonctionnera également avec Git) est de tout valider dans un référentiel Subversion, mais évidemment divisé en projets, branches, balises si nécessaire. Je vérifie ensuite ces référentiels sur le serveur en direct. Ainsi, lorsque j'effectue une modification sur ma machine de développement et que je la valide dans le référentiel, il s'agit souvent simplement de mettre à jour la copie extraite sur le serveur en direct pour rendre les modifications en direct. Le bonus supplémentaire est que si j'ai besoin de faire une correction rapide sur le serveur en direct, je le valide dans le référentiel depuis le serveur et met à jour la copie de travail sur ma machine de développement.
Je suis sûr qu'il existe d'autres façons de gérer cela, mais je trouve cela assez simple et je suis exactement dans la même situation que vous: développeur unique dans une petite organisation (4 personnes).
la source
Il est assez facile de créer un
post-update
hook qui met automatiquement à jour (l'exportation avecgit archive
est préférée pour des raisons de sécurité) le répertoire de données du serveur Web lorsque vous poussez vers une branche spécifique.Ayez donc un référentiel git installé quelque part (pour des raisons de sécurité, je le mettrais sur un serveur différent du Web) avec un tel crochet. Vous aurez bien sûr besoin d'un serveur de test pour tester des modifications plus importantes, qui peuvent être sur votre machine locale ou mises à jour en poussant vers une branche différente. Dans les deux cas, vous pouvez le contourner pour l'orthographe triviale et les correctifs CSS en faisant simplement un commit et un push.
la source
Je suivrais ces étapes:
Configurez un dépôt par site Web pour éviter qu'ils ne s'encombrent. Les branches distinctes vous permettent d'éviter d'avoir le "bon" verrou de version actuel sur ce sur quoi vous travaillez actuellement, qui peut ou non fonctionner.
la source