контроль версий для небольшой команды [закрыто]

13

Мы запускаем новую команду очень маленького размера (скажем, 2-5), мой вопрос: какой тип контроля версий лучше всего подходит для таких команд, централизованных или распределенных.

prasonscala
источник
Попробуйте SVN tortoisesvn.tigris.org Это лучше всего для вас.
Виджеш В.Наир
Что ты хочешь написать и какую платформу?

Ответы:

30

Распространяясь по всему пути, на самом деле больше нет смысла централизовать ИМХО, особенно если вы говорите о командной разработке.

Еще один голос за Mercurial, нет проблем с настройкой под windows, и у bitbucket.org есть бесплатные репозитории (которые могут быть приватными) с неограниченным пространством.

Если вы планируете работать над проектом с открытым исходным кодом, git и Github кажутся более адекватными / популярными. Однако, если вы еще не решили использовать DVCS, я рекомендую начать с Mercurial и с этого замечательного руководства .

dukeofgaming
источник
1
+1 за это потрясающее руководство от Джоэла Спольски. Отличный материал. Кроме того, даже если вы очень маленькие сейчас, как говорит @dukeofgaming, больше нет смысла начинать централизованно. Даже если вы только планируете немного впереди.
Марк Фридман
Для проектов, заботящихся о свободе программного обеспечения, gitorious, вероятно, лучше, чем github.
Ларс Вирзениус
@Lars: Что вы подразумеваете под «свободой программного обеспечения»?
Ричард Эв
5
Даже как одинокий разработчик Mercurial имеет смысл.
Оливер Вейлер
amen @Helper Method, вот как я начал его использовать
dukeofgaming
4

тот, который вы все будете использовать последовательно

[лично мне нравится Mercurial]

Стивен А. Лоу
источник
15
Пока это не SourceSafe.
Роберт Харви
4

Наверное, лучший ответ: «все, что вам удобно». Даже когда я работаю над личными вещами, я использую Git. Похоже, он неплохо справляется с масштабированием вверх и вниз, и мой ограниченный опыт работы с Mercurial примерно такой же.

MIA
источник
Из моего ограниченного опыта работы с Git - если вы работаете на платформе Windows, инструменты Git там еще не готовы к прайм-тайм. Палка с ртутью (или печь). На других платформах Git, вероятно, в порядке.
Марк Фридман
1
Msysgit прекрасно работает, если вы знакомы с приглашением Shell.
@ Отметьте, что вы, безусловно, правы, если люди не хотят командной строки. Тем не менее, командная строка Git (с оболочкой, как указывает Турбьёрн) в порядке. Я только программирую на Windows и использую Git для проектов VS. Тем не менее, нет ничего, что подходит TortoiseSVN и AnkhSVN для Git.
МВД
1

Я думаю, вы должны выбрать то, что вам удобно. В небольшой команде у вас не будет разных кодовых деревьев (например, ядра Linux), поэтому центральный репозиторий в порядке. Но вы можете иметь эту настройку и с распределенной VCS. Так что я бы пошел с популярностью и личным опытом. Популярны SVN, git и Mercurial. Вы должны решить, какой из них лучше всего использовать с вашей командой (опыт, поддержка инструментов в выбранной вами IDE и т. Д.).

Mnementh
источник
1

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

Coyote21
источник
1

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

Если есть такой человек - он уже будет знать, что использовать, поэтому просто примите его решение. Если нет - найдите какое-нибудь решение. Было бы очень глупо попробовать GIT (один из лучших), если бы все разработчики никогда не касались Shell / Linux.

Это также зависит от количества «нетехнических» людей, которых нужно читать / вносить. Просто убедитесь, что они могут использовать его, и есть инструменты, доступные.

Константин Петрухнов
источник
1

SVN широко поддерживается в инструментах. Инструменты - это ключ; у разных людей будут разные навыки. Некоторые предпочитают командную строку, некоторые предпочитают инструменты на основе IDE, некоторые предпочитают графические инструменты. На данный момент SVN кажется наиболее широко поддерживаемым инструментом.

Кроме этого Mercurial или Git.

Fortyrunner
источник
0

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

Однако: наличие частично централизованного решения не ограничивает вас централизованной системой. Вы можете просто отправить на внешний сервер что-то вроде git или mercurial.

инка
источник