Мы запускаем новую команду очень маленького размера (скажем, 2-5), мой вопрос: какой тип контроля версий лучше всего подходит для таких команд, централизованных или распределенных.
version-control
prasonscala
источник
источник
Ответы:
Распространяясь по всему пути, на самом деле больше нет смысла централизовать ИМХО, особенно если вы говорите о командной разработке.
Еще один голос за Mercurial, нет проблем с настройкой под windows, и у bitbucket.org есть бесплатные репозитории (которые могут быть приватными) с неограниченным пространством.
Если вы планируете работать над проектом с открытым исходным кодом, git и Github кажутся более адекватными / популярными. Однако, если вы еще не решили использовать DVCS, я рекомендую начать с Mercurial и с этого замечательного руководства .
источник
тот, который вы все будете использовать последовательно
[лично мне нравится Mercurial]
источник
Наверное, лучший ответ: «все, что вам удобно». Даже когда я работаю над личными вещами, я использую Git. Похоже, он неплохо справляется с масштабированием вверх и вниз, и мой ограниченный опыт работы с Mercurial примерно такой же.
источник
Я думаю, вы должны выбрать то, что вам удобно. В небольшой команде у вас не будет разных кодовых деревьев (например, ядра Linux), поэтому центральный репозиторий в порядке. Но вы можете иметь эту настройку и с распределенной VCS. Так что я бы пошел с популярностью и личным опытом. Популярны SVN, git и Mercurial. Вы должны решить, какой из них лучше всего использовать с вашей командой (опыт, поддержка инструментов в выбранной вами IDE и т. Д.).
источник
Это действительно зависит от того, собираются ли ваши разработчики разрабатывать много кода в автономном режиме или нет, но только выбирать между распределенным или централизованным репозиторием, так как это первое, что вы должны решить. Тогда, если вы решите, что централизованный подход работает лучше, чем SVN, это все, что вам нужно. С другой стороны, если вы используете распределенный подход, а не Git, даже в Windows это достаточно хорошо, так как теперь у вас есть Git-черепаха (тот же интерфейс, который существует и для SVN). Кроме того, не стоит так сильно рассчитывать на поддержку IDE, потому что вы можете получить неприятный сюрприз, если будете когда-либо использовать его, и вы можете обнаружить, что файлы, которые не должны быть зафиксированы, будут переданы от вашего имени IDE.
источник
Спросите свою команду, если кто-то хочет позаботиться об этом. Гораздо лучше иметь стабильную систему и ответственного человека, чем хорошую систему, когда никто не заботится об этом, и никто не может восстановить ее из резервной копии.
Если есть такой человек - он уже будет знать, что использовать, поэтому просто примите его решение. Если нет - найдите какое-нибудь решение. Было бы очень глупо попробовать GIT (один из лучших), если бы все разработчики никогда не касались Shell / Linux.
Это также зависит от количества «нетехнических» людей, которых нужно читать / вносить. Просто убедитесь, что они могут использовать его, и есть инструменты, доступные.
источник
SVN широко поддерживается в инструментах. Инструменты - это ключ; у разных людей будут разные навыки. Некоторые предпочитают командную строку, некоторые предпочитают инструменты на основе IDE, некоторые предпочитают графические инструменты. На данный момент SVN кажется наиболее широко поддерживаемым инструментом.
Кроме этого Mercurial или Git.
источник
Я думаю, что в небольших компаниях есть аргументы в пользу централизации определенных вещей. (Подумайте, например, о резервном копировании вне офиса. Когда над проектом работают только 2 человека, и они живут в одном здании, и произошел пожар, децентрализации на все два компьютера может быть недостаточно.)
Однако: наличие частично централизованного решения не ограничивает вас централизованной системой. Вы можете просто отправить на внешний сервер что-то вроде git или mercurial.
источник