Actuellement, mon site Web (serveur de production) contient déjà beaucoup de code. Et maintenant, je veux commencer à utiliser Git pour mes projets et configurer un serveur intermédiaire pour mon équipe. Quelqu'un peut-il me donner des conseils?
Voici l'image dans mon esprit:
Production - Production server which already have codes
↑
Staging - New staging server, will install Trac too
↗↙ ↖↘
Developer1 Developer2 - Local development
Ma question est, comment dois-je commencer?
Voici quelques étapes dans mon esprit:
- faire un
git init
serveur en production (est-ce sûr?) clone
le dépôt de la production au serveur intermédiaire- les développeurs
clone
du dépôt de la mise en scène à leur machine locale push
fichiers sur le serveur intermédiaire une fois la modification terminée- lorsque la mise en scène est prête,
push
tout est à la production
Ce flux de travail a-t-il un sens ou existe-t-il une meilleure façon de le faire?
Et si je ne souhaite modifier qu'un seul fichier?
Est-ce que l'origine / maître a quelque chose à voir avec cela dans ce processus? Quelle est l'origine? vais-je finir par avoir plusieurs origines ??
Aussi, quand un développeur devrait-il utiliser branch
dans ce cas?
Votre suggestion semble correcte, mais je ne laisserais pas les développeurs pousser directement vers le serveur de test. Au lieu de cela, un intégrateur devrait examiner attentivement les branches et les incorporer dans la branche principale (ou la branche de développement si vous utilisez le modèle git flow comme suggéré par bUg.) * La même personne pousserait vers le serveur intermédiaire.
* Intégrateur : " Une personne assez centrale agissant en tant qu'intégrateur dans un projet de groupe reçoit les modifications apportées par d'autres, les examine et les intègre et publie le résultat pour que d'autres les utilisent ... "
1. faire un git init dans le serveur de production (est-ce sûr?)
Oui, c'est sûr, mais vous devez bien sûr définir des autorisations très restrictives sur ce dépôt. Je commencerais probablement par
curl
insérer tout le site Web sur un disque local, si je ne l'ai pas déjà.2. cloner le référentiel de la production vers le serveur intermédiaire
Vous devriez probablement avoir un dépôt "central" séparé à la fois du serveur de production et du serveur intermédiaire. Celui-ci peut être cloné et poussé au besoin.
3. les développeurs clonent le dépôt de la staging vers leur machine locale
4. poussez les fichiers vers le serveur intermédiaire une fois la modification terminée
5. lorsque la mise en scène est prête, transférez tout à la production
Remplacez "staging" par "central" et je pense que vous allez bien, mais un plus gros problème est de savoir comment vous allez travailler avec les branches et la fusion, comme le souligne bUg.
la source
RedirectMatch 404 /\.git
à votre production .htaccess pour protéger votre dossier .gitignore , .gitattributes et .git .