2

Я работаю в среде, где разработчики работают непосредственно с файлами сценариев и изображений на веб-сервере реального развертывания. Это страшно и вызвало несколько, хотя пока удивительно мало проблем. Исходный контроль вообще не используется для этих изменений, изменения вносятся на работающем сервере и только на работающем сервере. Я не знаю, как сделать так, чтобы изменения, сделанные другими разработчиками на живом веб-сервере, сохранялись / объединялись при развертывании моих изменений на живом веб-сервере. Эта проблема, кажется, усугубляет ситуацию с использованием контроля версий, а не лучше.

Я лично настраивал серверы git и svn и в течение последних нескольких лет использовал управление версиями с помощью git и svn во многих проектах для настольных и мобильных приложений. Но это поставило меня в тупик.

1 ответ1

1

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

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

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

etckeeper (https://github.com/joeyh/etckeeper) в некоторых отношениях сопоставим. Он предназначен для записи изменений в каталоге сервера /etc, в отличие от веб-сайта, но в остальном он очень похож на то, что вы имеете в виду. Вероятно, в него будут включены некоторые полезные идеи, связанные с фиксацией коммитов и тому подобным, но он также сложен, поскольку охватывает несколько различных систем VCS и совместимость с несколькими операционными системами.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .