2011-02-07 3 views
7

Je suis un concepteur qui cherche à soulager la douleur de gérer le développement de mes sites Web. Je n'ai découvert que récemment Git et jusqu'à présent, il a été très facile à ramasser. D'après ce que je comprends, il est possible d'utiliser Git comme un moyen de déployer ces changements en utilisant deux ou plusieurs dépôts; dont l'un est le maître. Je suis particulièrement intéressé par un environnement de développement, un environnement de test et un site de production.Comment utiliser Git pour gérer le développement de sites Web?

J'ai donc quelques questions:

Est-il acceptable d'utiliser Git de cette façon?

Ce qui est mieux; stocker le référentiel maître sur votre ordinateur local et pousser les modifications sur le serveur de production et de test? Ou est-il préférable de stocker le maître sur votre serveur de production et de le transférer sur votre machine locale pour y apporter des modifications?

Si oui, comment pourriez-vous accomplir l'une ou l'autre méthode?

Répondre

3

Il pourrait y avoir un peu de confusion ici, donc je vais essayer de clarifier les choses.

Un référentiel est juste une copie de votre code. Vous pouvez avoir plusieurs copies de votre code (c'est-à-dire plusieurs copies de votre référentiel, par exemple: une sur votre machine de développement, une sur votre serveur de test et une sur votre serveur de production). Tout vient du même code, vous pouvez avoir chaque référentiel à différents commits (un ensemble de changements) ou une branche différente.

Ma suggestion serait de travailler comme ceci. Vous créez un référentiel avec votre code en faisant dans le répertoire racine du projet que vous voulez mettre à jour avec git.

git init 

Maintenant, vous pouvez créer plusieurs branches de votre code. L'un serait appelé «maître» (c'est généralement la façon dont les gens le nomment) et il est utilisé pour stocker le code de production. Une autre branche peut être appelée "développement". Ainsi, lorsque vous commencez à jouer avec votre site Web, vous passez à la branche de développement dans votre copie locale de votre référentiel, apportez les modifications, validez cette branche et insérez les modifications dans le référentiel de votre serveur de test (ce que vous feriez habituellement garder ensemble dans la branche "développement"). Vous testez votre code, puis, lorsque vous le jugez normal, vous fusionnez vos modifications de développement à master, puis vous le placez dans le référentiel de votre serveur de production (généralement dans la branche "master").

Je vous suggère fortement d'utiliser github.com, cela pourrait vraiment simplifier les choses et vous aider à conserver des copies à distance de votre code. De plus, vous n'avez pas besoin de créer des serveurs git pour pouvoir apporter des modifications à chaque copie de votre code, mais vous mettez juste à jour votre copie github, et plus tard vous pouvez tirer des modifications de chaque version de votre code (test et production) . Tout ce que j'ai expliqué ici pourrait être un peu confus, vous pouvez vérifier un livre pour comprendre la différence entre un dépôt lui-même et une branche dans un référentiel. Git est un excellent choix pour garder votre code organisé.Si vous décidez d'aller avec, vous pouvez jeter un oeil à ce site http://gitimmersion.com/

+0

Merci. Ce site a l'air utile, je vais le lire. Juste pour clarifier, vous pouvez fusionner les changements d'une branche à l'autre sans avoir à les fusionner avec le maître? – Mindthetic

+0

Oui, vous pouvez fusionner des validations dans n'importe quelle autre branche indépendamment, pas besoin que master soit un "point intermédiaire". – acadavid

+0

Génial. Dans votre exemple, le référentiel maître est décentralisé de l'ensemble de l'installation. il n'est pas utilisé en tant que serveur de production (ou site en ligne). Quel avantage cela at-il? Merci beaucoup. – Mindthetic

3

C'est une bonne idée d'utiliser Git comme ça. D'après ce que j'ai vu, la plupart des gens ont le maître sur leurs machines locales et poussent vers un serveur de production/test.

Il y a un guide agréable à utiliser Git à cet effet ici: http://toroid.org/ams/git-website-howto

Si vous voulez une machine d'essai et, effectuez les étapes décrites dans « Le dépôt à distance » à nouveau sur une autre machine et l'ajouter en tant que à distance avec un nom différent.

Questions connexes