2016-08-04 4 views
0

У меня есть PHP приложения в моей корневой папке веб (например:/WWW/проект /)Test мерзавец ветвь локального веб-сервер

Я хочу использовать мерзавец с моим проектом, но я очень запутанным с его полезностью , Например ...

Я создаю ветку «NewContactPage» ... поэтому у меня две ветви: master и NewContactPage. Я делаю некоторые изменения в файле contact.php (например), но ¿, где я могу проверить это изменение и сравнить с файлом contact.php master. (У меня есть только одна папка для веб-сайтов). Должен ли я архивировать весь проект на другой webroot. Если я хочу протестировать некоторые функции? В самом деле?! `

================ EDIT UPDATE ВОПРОС ====== Я думаю, что я не объяснить очень хорошо ... Я трей с другой пример.

В моей локальной среде разработки есть один веб-сервер Apache, где webroot для apache is/user/12345/project/www ok?

В этом каталоге у меня есть мой проект (с git), например, моя основная ветка развивается. Поэтому, когда я перехожу на http://localhost, я вижу index.php для разработки, хорошо?

Ну, я слежу за лучшей практикой git flow и, например, мне нужно создать ветку с новой функцией, например, с новой страницей contact.php, поэтому я создаю контакт филиалаNEW и в этой ветке редактирую контакт .php с некоторым кодом ...

Итак, если я перехожу к http://localhost/contact.php (например), я увижу новое изменение (ответ для контактаNEW), но ... Если я хочу визуально сравнить (с веб-браузером) два файлы (develop/contact.php и contactNEW/contact.php), например, чтобы увидеть ... «цвет кнопки» ¿что я должен делать? Я должен скопировать все ветви в новую веб-корневую папку? или лучше скопировать всю ветвь contactNEW на другой webroot (например, virtualhost) для apache?

Я полагаю, что я должен совершить или «отменить фиксацию» над репозиторием, а затем обновить веб-браузер ... ¿нет?

Благодаря

ответ

0

Я не уверен, я следую, но да только одна ветвь может одновременно быть «Выдан» в данной рабочей копии. Но это достаточно легко переключаться ветви:

git checkout NewContactPage 
{do some testing} 
git checkout master 

Кроме того, копии GIT хранилищ дешевы и тривиальным создать. Обычная старая cp -r <repo> <repo-copy> (при условии, что здесь используется производная от UNIX) соответствует задаче. Затем вы можете проверить филиал в копии репо и удалить его, когда закончите.

Для сравнения файла contact.php между ветвями (независимо от извлеченного ветви в этой постановке команды):

git diff master NewContactPage contact.php 
+0

Совет 'cp' верно, он работает; Я бы предложил переключить это на «git clone», хотя он может «засунуть» свои изменения в свои первичные РЕПО, когда он закончит. – AnoE

0

Если вы используете Git для веб-приложений и должны иметь разные «тестирование/постановка», это означает, что у вас есть:

  • 2 рабочих каталога; каждый из которых представляет собой полный репозиторий git, связанный с «пультом».
  • Две записи в конфигурации вашего веб-сервера, скажем, с двумя разными портами. Каждый из них указывает на одну из двух каталогов. Таким образом, вы можете протестировать свою разработку на одном из веб-серверов и одновременно повысить свою производственную версию.(Примечание: это не обязательно означает «настоящий» веб-сервер производства, который используют ваши клиенты, а просто версия «производственного кода», чтобы вы могли сравнить свои изменения с этим).

Конечно, это может масштабироваться произвольно. Например, если у вас есть несколько разработчиков, для каждого из них есть отдельный веб-сервер (порт), чтобы заниматься серфингом в своей собственной разработке (наряду с их хранилищем separat git, конечно).

Пока все локально, и вам не нужно «развернуть» приложение по границам компании/сети, это действительно все, что нужно.