Il semble que vous n'utilisiez pas du tout le contrôle de version. C'est une bonne idée de commencer. I juste Je suis passé de SVN à Git, et je fais en quelque sorte ce que vous faites à un niveau plus élevé. Commençons par vos objectifs :
- Obtenir le contrôle de la version
- Mettre en place une sorte de déploiement web via Git
- Héberger le contrôle de version à distance
Les gens vous diront que Git n'est pas un outil de déploiement web - ils ont peut-être raison, mais jusqu'à présent cela fonctionne bien pour moi, et j'ai fait quelque chose de similaire. Heureusement pour vous, j'ai pratiqué sur une installation de Wordpress - voici les étapes que j'ai suivies.
- J'ai tout configuré et installé avec Git en ce qui concerne le client.
- J'ai téléchargé la dernière version de Wordpress dans une installation vanille.
-
git init
l'installation de base sans aucune modification
- Branchement du master en "dev" et "live"
- Travailler localement, commiter dans "dev", puis une fois les changements effectués, fusionner dans "live".
Ce que j'ai fini par faire, c'est de créer un fichier gitolite
et de l'utiliser comme hôte - ce qui remplace effectivement github dans votre exemple. Je pense que vous connaissez la valeur d'un dépôt distant - je poursuivrais certainement cette voie.
Je vais revenir un instant sur l'étape 2 de mes recommandations. Vous devriez garder la version vanille de Wordpress sur le master afin de pouvoir mettre à jour le core et voir comment il fonctionne avec votre code personnalisé, au lieu de mettre à jour le core sur quelque chose comme une de vos branches et que tout se casse la figure. Cela s'est avéré très pratique pour moi, et c'est quelque chose que je vais définitivement utiliser sur des projets plus importants comme Magento.
Ok, revenons au déploiement. Vous pouvez mettre un client git sur votre serveur web et le faire fonctionner comme suit pull
à partir de sa branche dans le flux de travail - mais vous devez tenir compte de certaines considérations particulières en matière de planification. Vos fichiers prod seront très probablement différents de vos fichiers dev à certains endroits, en particulier la configuration (base de données, etc.) - vous voudrez vous assurer que ces fichiers sont dans le répertoire .gitignore
pour que vous ne tiriez pas vers le haut dev
dans votre prod
l'environnement.
J'ai surtout résumé ce que les gens m'ont dit lorsque j'ai commencé à travailler sur ce projet, j'espère que cela vous aidera. Encore une fois, je suis un peu plus loin que vous, donc si quelqu'un a des corrections/optimisations à faire, n'hésitez pas à commenter.