Как мы можем использовать контроль версий в общей рабочей среде? - PullRequest
4 голосов
/ 19 января 2010

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

Я бы хотел использовать контроль версий для нашей рабочей настройки, но я не уверен, что SVN или GIT будут играть вместе с более чем одним человеком, выполняющим вход / выход из одной и той же среды разработки. У меня есть опыт работы с SVN, CVS, GIT, Perforce и PVCS, но я всегда работал с отдельными средами разработки.

Мне бы хотелось решение, которое не требует от нас запуска отдельных сред разработки, поскольку у нас нет инфраструктуры.

Ответы [ 8 ]

5 голосов
/ 19 января 2010

Большинство, если не все, реализации контроля версий предназначены для использования более чем одним человеком. И Subversion, и GIT с радостью сделают все, что вам нужно, но вам может показаться, что Subversion проще в настройке и запуске. Если вы намереваетесь разместить его в среде Windows, взгляните на VisualSvn Server .

Основное различие между GIT и SVN состоит в том, что GIT является распределенной системой, тогда как SVN опирается на центральный репозиторий. В разработке программного обеспечения есть хорошие аргументы в пользу использования распределенной системы, но описанные вами потребности будут легко удовлетворены гораздо более простой реализацией SVN (я думаю).

Еще одна веская причина для использования SVN (под Windows) заключается в том, что клиент TortoiseSvn является одним из лучших примеров пользовательского интерфейса для любой системы управления версиями. Чрезвычайно легко научиться использовать и хорошо документировать, а также поддерживать сообщество ОС.

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

1 голос
/ 19 января 2010
  1. " В настоящее время наша команда (веб-разработчики, один дизайнер и один копирайтер) работают на разных рабочих станциях, но вносят изменения в одну среду разработки (мы монтируем один и тот же общий диск) «Добавление SVN избавит от необходимости использования общего диска.Каждый из вас будет работать в локальном каталоге, который зарегистрирован в SVN.Tortoise был бы идеальным клиентом для вас.

  2. " это маркетинговый сайт, а не веб-приложение, поэтому никаких сборок или развертываний, мы просто вносим изменения в действующий сайт один разони сделаны"Простое пакетное задание (сценарий ANT или другое) может быть написано и передано каждому из вас.Как только файлы будут готовы к развертыванию, просто запустите пакет и попросите его проверить последние файлы из SVN и скопировать их на ваш веб-сервер.

1 голос
/ 19 января 2010

С помощью svn вы можете при каждой отправке автоматически запускать обновление живого сайта. Все равно работать с одним и тем же каталогом несколько неудобно (как это было всегда, во всяком случае…), но старые привычки сильно умирают, и если предположить, что люди настаивают на этом, svn экспортирует свой репозиторий через WebDAV, поэтому должна быть возможность монтировать это как сетевая файловая система на настольных компьютерах.

1 голос
/ 19 января 2010

В зависимости от объема данных, о которых вы говорите, можно рассмотреть вариант Dropbox ( «безопасное резервное копирование, синхронизация и обмен файлами - просто» ). Он поддерживает управление версиями и позволяет вам делиться папками.

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

1 голос
/ 19 января 2010

Мы обычно делали это на старом рабочем месте, чтобы дать каждому пользователю учетную запись, а также указать «проект» и учетную запись. Мы бы каждый проверил местную рабочую копию. проект (в вашем случае это были бы инструменты, которые, как я полагаю, используют люди в вашем бизнесе) также извлек бы копию. Как только все разработчики будут удовлетворены определенной сборкой, мы выпустим обновление рабочей копии проекта.

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

1 голос
/ 19 января 2010

Вам не нужно много серверного оборудования.Почему каждый разработчик / дизайнер / и т.д. не может запустить сайт на своем компьютере?У вас есть по крайней мере один компьютер каждый?:)

GIT или SVN в таком случае - дело вкуса.

0 голосов
/ 19 января 2010

С помощью SVN разработчики могут отправлять сообщения на сервер, а один специальный пользователь на сервере проверяет последнюю версию.Таким образом, передача вашей работы включает в себя передачу в SVN, затем вход на сервер и проверку последней транка.

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

0 голосов
/ 19 января 2010

"не требует от нас запуска отдельных сред разработки, так как нам не хватает инфраструктуры"

Не имеет большого смысла.

Предположительно, у каждого из вас есть отдельная рабочая станция. И ваши рабочие станции отделены от вашего веб-сервера. Просто догадываюсь, но это типично.

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

Вы можете пометить версию как готовую к использованию.

Кто-то может - когда у вас все выглядит правильно - сделать обновление на веб-сервере, чтобы запустить официальную версию.

Для этого не требуется больше инфраструктуры, чем у вас уже есть.

...