Лучшие практики для разработки на нескольких машинах и контроля версий

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

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

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


person Randy Burgess    schedule 12.01.2009    source источник


Ответы (5)


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

  • Если пути открыты, создайте локальный репозиторий svn, а затем используйте сетевой путь к репо со второй машины. Хорошо работает, если вы не хотите запускать сервер, а просто используете локальные файлы. У моего ноутбука и рабочей станции одинаковые учетные данные, поэтому сквозная передача отлично работает со скрытыми путями '\ machine \ c $ \ etc'

  • Мне также нравится использовать Unison для управления файлами между моим ноутбуком и рабочей станцией. Это не версионирование, и с подсказками даты и времени он довольно хорошо справляется с тем, что новее. Кроме того, если вы единственный, кто использует оба, конфликтов действительно мало. Я использую это для управления моими «моими документами» http://www.cis.upenn.edu/~bcpierce/unison/

  • Конечно, вы можете создать сервер SVN, и я обнаружил, что Visual SVN упрощает это. Я начал использовать это в своих личных проектах после того, как возникла необходимость «запустить» на сервер. Наличие svn-сервера на удаленном сервере имело несколько преимуществ, когда дело касалось запуска и работы из дома. (Или приглашение других разработчиков) http://visualsvn.com/server/

person ccook    schedule 12.01.2009
comment
Имейте в виду, что сетевые пути для локального доступа к SVN не масштабируются. Вообще. Не делайте этого, если есть шанс (а здесь его нет) получить доступ с двух машин одновременно. - person David Thornley; 12.01.2009
comment
Пожалуйста, и Дэвид абсолютно прав в этом. Но, по крайней мере, потом легко переехать :) - person ccook; 12.01.2009

Просто установите SVN на один из ваших компьютеров (желательно на сервере Linux). Думаю, администраторы установят для вас SVN и создадут необходимые репозитории.

Интеграция SVN с Eclipse очень проста с помощью плагина.

person Josef Sábl    schedule 12.01.2009

Если вы новичок в системе управления версиями (или даже если вы не знакомы), прочтите Исходный код Эрика Синка HOWTO даст хорошее представление и познакомит вас с некоторыми передовыми практиками.

person Todd    schedule 12.01.2009

Я бы рассмотрел распределенную систему контроля версий, а также Subversion. Даже если вы в конце концов перейдете на Subversion, хорошо понимать все доступные вам варианты. Лично я один разработчик и работаю в нескольких местах, и обнаружил, что концепция DVCS работает намного лучше, чем SVN.

Git, Mercurial и Bazaar - это три варианта. Вот хорошее видео от Linux Torvalds, в котором объясняются некоторые концептуальные различия.

person Marc Charbonneau    schedule 12.01.2009

Я использую Bazaar в качестве своего решения для управления версиями для обработки этого сценария. Я использовал Subversion в течение многих лет, но она просто не подходит для этого сценария распределенного использования. Базар делает.

person Rob Williams    schedule 12.01.2009