Является ли DVCS полезным для одного разработчика?

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

6 ответов


поскольку вы все еще можете нажать на другую машину, также работающую под управлением Git/Mercurial/Bzr/etc, у вас все еще есть безопасность резервного копирования на нескольких компьютерах, которую вы, надеюсь, в любом случае. Однако, если вы когда-либо код во время путешествия, имея полный доступ к репозиторию может быть огромным плюсом, то просто повторите синхронизацию с вашим сервером, когда у вас есть сетевое соединение снова/get home/etc.


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

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


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


Я серьезно рекомендую пойти с распределенным. На Windows я выбрал Mercurial и был очень доволен этим.

большие плюсы:

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

плюсы:

  • (для некоторых) инструментов GUI нет
  • вам, вероятно, понадобится SVN для подключения к различным репозиториев. Е. Г. нужно использовать две системы.

да. Есть две основные причины, по которым я переключился на DVCS (Git и Mercurial) для своих собственных хобби-проектов. Первый вопрос сохранение резервных копий а другое то, что я много путешествую и используйте несколько географически отдельных компьютеров.

быстрое и простое резервное копирование

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

работа на разных местах или компьютерах

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

простое ветвление / слияние

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

Я знаю одного программиста, который использовал git для отслеживания собственной работы над проприетарной системой в компании, которая все еще использовала SourceSafe для контроля версий. Git облегчил ему отслеживание отдельных исправлений, разветвляя каждое исправление, хотя в конце концов ему пришлось объединить файлы вручную. Когда для него пришло время проверить файлы в SourceSafe, он будет смотреть на различия в разных ветвях, чтобы увидеть, какие изменения необходимы, а затем сделать их. Скажем так, большую часть времени он провел в ожидании, пока его сверстники догонят его.


для одного разработчика, каждый VCS будет делать. Я бы выбрал один, который легко настроить и практически не требует никакой конфигурации. Мне лично нравится монотонно. Он был одним из первых, и я до сих пор считаю его одним из лучших.

на самом деле, самое интересное, что я когда-либо был при использовании помощью darcs, но он написан на довольно уродливом языке (Haskell), и на самом деле уже было довольно больно строить его на Mac OS X из источника.

Git-это сказал быть хорошей системой, но мне не нравится, что она состоит из нескольких двоичных файлов и скриптов и так далее. Что мне действительно нравится в таких системах, как darcs и Monotone, есть один двоичный файл... и это все. Нет беспорядка двоичных файлов, нет скриптов на том или ином языке, на двоичном, и все это делает.