Контроль версий для большого php / mysql веб-приложения - PullRequest
2 голосов
/ 26 февраля 2010

Я работаю над большим приложением php / mysql и дошел до того, что мне нужно использовать какой-то контроль версий. Я прочитал несколько статей о GIT, но не могу понять, как лучше всего это сделать.

У меня есть выделенный сервер, на котором работает CENTOS с PLESK. И я в основном разрабатываю на своей локальной машине ту, на которой вы используете XAMPP.

Если я хочу использовать контроль версий, я должен установить это на сервере, который использует PLESK, или я должен установить это на моем локальном компьютере. И это также будет записывать изменения базы данных, которые я сделал.

Еще одна вещь, которую я задаю вопрос - это использование github. Должен ли я по-прежнему загружать изменения в концентратор или мне нужно создать свое собственное место на сервере, где хранятся исходные файлы.

Спасибо за ваше время!

Ответы [ 4 ]

3 голосов
/ 26 февраля 2010

Обычной процедурой будет разработка программного обеспечения с использованием контроля версий. Когда у вас есть выпуск, который нужно перейти на тестовый или работающий сервер, вы должны развернуть код из репозитория на тестовый / работающий сервер. Если вы используете GIT, то он должен быть только на вашем компьютере, так как GIT спроектирован как распределенная система контроля версий. Если вы использовали Subversion, то это вполне может находиться на сервере вдали от вашей машины. Однако в этом случае вы все равно развернетесь таким же образом.

Не принято добавлять изменения базы данных в систему управления версиями по разным причинам (об этом в другом вопросе говорится на SO)

Вам необходимо использовать GitHub, только если вы работаете с другими людьми или открываете свой код для широкого использования и загрузки. Однако другой причиной загрузки на GitHub может быть случай, если ваш локальный компьютер со всем кодом и хранилищем выйдет из строя и вы потеряли локальные копии, которые можно было оттуда восстановить. Однако я предполагаю, что вы делаете резервные копии?

Редактировать - дополнение Существует бесплатная книга , которая имеет дело с git, но для решения ниже вы добавляете файл с именем gitignore и в него вы добавляете шаблоны файлов, которые вам не нужны в репозитории. поэтому у вас есть локальный файл конфигурации и удаленные файлы конфигурации на целевом сервере, но они не перезаписываются, поскольку ваши локальные файлы не находятся в хранилище

2 голосов
/ 28 февраля 2010

Я согласен с другими ответами, но если вам нравится использовать git и использовать метод быстрого развертывания тестов на удаленной машине (полезно для тестирования), вы можете попробовать Gitosis . Это простое решение для git-сервера, проще говоря, вы можете иметь свой собственный «git-сервер» на удаленной машине, полезный для хранения удаленной резервной копии вашей работы.

Чем вы можете зафиксировать свои изменения локально или отправить их обратно на удаленный компьютер.

На удаленной машине вам придется клонировать репозиторий также в каталоге, который вы собираетесь использовать для своего проекта ...

Это проще, чем кажется и работает очень хорошо :) 1009 *

2 голосов
/ 26 февраля 2010

Вам не нужен контроль версий на вашей машине для развертывания, достаточно иметь репозиторий SVN, к которому вы подключаетесь с помощью своей машины для разработки. А когда текущая сборка / выпуск готов к производству, вы просто загружаете его / развертываете.

Нет необходимости в клиенте SVN на вашем производственном сервере.

Возможно, вы также захотите прочитать эту статью о Использование SVN для веб-разработки .

1 голос
/ 26 февраля 2010

С git вам не нужен сервер. Любая папка, в которой используется git, т. Е. git --init запускается, становится хранилищем git и сохраняет всю информацию о версии в .git, подпапке этого каталога.

Github используется для сотрудничества между проектами с открытым исходным кодом - размещением пустой копии репозитория в центральном месте - пустой копией является просто папка .git без рабочего дерева.

Что касается возможности обработки содержимого базы данных mysql; git может отслеживать двоичные файлы, но MySQL обычно хранит свои данные отдельно от исходных папок вашего приложения, так что это может быть трудно сделать.

Как говорит Филип, вам не нужна VCS на вашей машине развертывания; Тем не менее, с Git, вы можете просто подтолкнуть свои коммиты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...