2016-08-04 2 views
0

J'ai une application php dans mon web dossier racine (par exemple:/www/projet /)branche git test serveur web local

Je veux utiliser git avec mon projet, mais je suis très confus avec son utilité . Par exemple ...

Je crée une branche "NewContactPage" ... donc j'ai deux branches: master et NewContactPage. Je fais quelques modifications sur le fichier contact.php (par exemple) mais où puis-je tester ce changement et comparer avec le fichier "master" contact.php? (Je n'ai qu'un dossier webroot) ¿Dois-je archiver tous les projets sur un autre site Web Si je veux tester certaines fonctionnalités? Vraiment?! `

================ EDIT MISE À JOUR QUESTION ====== Je pense que je ne l'explique pas très bien ... Je vais plateau un autre exemple.

Mon environnement de développement local possède un serveur Web apache, où webroot pour apache est/user/12345/project/www ok?

Dans ce répertoire, j'ai mon projet (avec git), par exemple, ma branche principale est développée. Donc, quand je vais à http://localhost je peux voir le index.php pour développer, ok? Eh bien, je suis la meilleure pratique git flow et par exemple, je dois créer une branche avec une nouvelle fonctionnalité, par exemple, une nouvelle page contact.php, donc je crée le contact de brancheNEW et dans cette branche je modifie le contact Donc, si je vais à http://localhost/contact.php (par exemple) je verrai de nouveaux changements (branch branchNEW) mais ... Si je veux comparer visuellement (avec le navigateur web) les deux .php avec du code ...

fichiers (develop/contact.php et contactNEW/contact.php) par exemple pour voir ... la "couleur des boutons" ¿ce que je dois faire? Je dois copier tout développement de branche vers un nouveau dossier racine Web? ou est-il préférable de copier tout contact de brancheNEW vers un autre webroot (virtualhost par exemple) pour apache?

Je suppose que je dois commettre ou "annuler la validation" sur le dépôt, puis actualiser le navigateur web ... ¿non?

Merci

Répondre

0

Je ne suis pas certain que je suis, mais oui une seule branche à la fois peut être « vérifié » dans une copie de travail donné. Mais il est assez facile de changer de branches:

git checkout NewContactPage 
{do some testing} 
git checkout master 

En outre, des copies des dépôts git sont pas cher et trivial pour créer. Plain vieux cp -r <repo> <repo-copy> (en supposant un dérivé UNIX ici) est à la hauteur de la tâche. Vous pouvez ensuite vérifier une succursale dans repo-copie et supprimez-le lorsque vous avez terminé.

Pour comparer votre fichier contact.php entre les branches (quelle que soit la branche check-out dans cette formulation de la commande):

git diff master NewContactPage contact.php 
+0

Le conseil 'cp' est vrai, ça marche; Je suggèrerais de passer à git clone pour qu'il puisse pousser ses changements à ses repos principaux quand il aura fini. – AnoE

0

Si vous utilisez git pour une application Web et la nécessité d'avoir un autre "testing/staging" zone, cela signifie que vous avez:

  • Deux répertoires de travail; chacun d'eux un référentiel complet git relié par des "télécommandes".
  • Deux entrées dans la configuration de votre serveur Web, par exemple avec deux ports différents. Chacun d'entre eux pointant vers l'un des deux répertoires. De cette façon, vous pouvez tester votre développement sur l'un des serveurs Web tout en ayant votre version de production en place.(Remarque: il ne s'agit pas nécessairement du «vrai» serveur Web de production utilisé par vos clients, mais simplement d'une version du «code de production» pour pouvoir comparer vos modifications à cela).

Bien sûr, cela peut évoluer arbitrairement. Par exemple, si vous avez plusieurs développeurs, il est logique pour chacun d'entre eux d'avoir un serveur web séparé (port) pour naviguer dans son propre développement (avec leur référentiel séparé bien sûr).

Tant que tout est local et que vous n'avez pas besoin de «déployer» votre application sur les limites de l'entreprise/du réseau, c'est tout ce qu'il y a à faire.