Как добавить управление версиями в свой рабочий процесс?
Я разрабатываю темы, их много. Мне дают PSD, кодируют HTML/CSS, вставляют код в Wordpress и вносят исправления по мере их проверки. После запуска клиенты могут редактировать записи в блоге, как обычно, или загружать фотографии с помощью пользовательского плагина.
Иногда мне приходится вносить изменения в тему или содержание страницы/публикации, что означает, что я либо делаю их живыми, либо должен загрузить и настроить сайт в среду разработки, которая должна быть одобрена клиентом. У меня нет резервное копирование, у меня нет контроля версий, и я понимаю, что это нужно изменить.
Были предложены Git и Mercurial, и я хотел бы воспользоваться этими инструментами, но я не понимаю, как их вписать в рабочий процесс.
Требуется ли мне вносить все изменения в сайт на сервере разработки, а затем запускать их в режиме реального времени после утверждения? Как насчет написания постов в блоге? Кажется излишним писать сообщения о разработчиках и вносить изменения в реальном времени, но тогда как мне синхронизировать базы данных, если они редактируются на живой сайт? Я порылся в Интернете. Мы были бы признательны за некоторые рекомендации.
3 answers
Прежде всего, вам нужно признать, что здесь есть два рабочих процесса: ваш и вашего клиента.
Ваш рабочий Процесс
- Получать PSD
- Код HTML/CSS
- Код шаблона WordPress
- Развернуть тему для живого сайта WordPress
Их Рабочий Процесс
- Разработайте необходимые изменения и отправьте вам электронное письмо
- Писать сообщения
- Загрузка фотографий
Проблема
Реализация управления версиями здесь имеет абсолютно ничего общего с рабочим процессом ваших клиентов. Все дело в отслеживании кода , который вы используете для темы WordPress. Все ваши файлы тем, пользовательские плагины и т. Д. Должны находиться в системе управления версиями (Git, Mercurial, Subversion или что вы решите использовать).
Затем ваш рабочий процесс становится:
- Написать код
- Внесение изменений в систему управления версиями
- Перенести изменения на производственную площадку
- Получить комментарии от клиент
- Написать код
- Зафиксировать изменения
- Написать код
- Зафиксировать изменения
- Перенести изменения на производственную площадку
Помните, что речь идет о сохранении истории управления версиями для вашего кода . Код - это то, что ваши клиенты не должны менять, и вы никогда не должны изменять код на производственном сайте, пока он находится в производстве.
Но изменения в содержимом (сообщения, фотографии и т.д.) Выходят за рамки вашего контроля версий система. Другими словами, вы не вносите изменений в разработку, а затем не запускаете базу данных в производство. Это плохая практика развития. Если вам нужно, чтобы базы данных разработчиков и разработчиков были синхронизированы, вам следует регулярно извлекать резервную копию из рабочей папки и восстанавливать локальную версию из этой резервной копии.
Изменения кода переходят от разработки к производству.
Изменения базы данных переходят от производства к разработке.
Вы можете использовать программное обеспечение, которое синхронизирует базы данных. Но есть также возможность управления версиями самих данных с помощью чего-то вроде http://chronicdb.com
Я только что написал подробный ответ на этот вопрос по другому вопросу. Лично я использую git, и это фантастика. С точки зрения начала работы с ним, я бы рекомендовал проверить http://gitref.org / и http://help.github.com/mac-set-up-git /. Если вы любите книги, я прочитал эту , и она определенно стоит 22 доллара за электронную книгу. Заставьте себя сделать это, вы не пожалеете об этом решении.