Git или Subversion? - PullRequest
       17

Git или Subversion?

19 голосов
/ 19 февраля 2009

Предполагая, что я начинаю новый веб-проект дома, используя Visual Studio, систему контроля версий, а именно. Git или Subversion будет лучше использовать? Какой из них будет иметь наименьшую сложность установки?

Ответы [ 15 ]

39 голосов
/ 19 февраля 2009

Поскольку это для вашей личной игры, мой вопрос прост: вы уже знаете Subversion или Git?

  • Если вы знаете SVN - используйте Git.
  • Если вы знаете Git - используйте SVN.

Если вы тоже не знаете - используйте SVN. Это лучшее введение.

12 голосов
/ 19 февраля 2009

Я бы пошел с Git. Это не так уж плохо, если быстро освоить основы (сейчас есть куча хороших ресурсов, в том числе learn.github.com), и это окупится в пики. И я использую его в Vista без проб.

10 голосов
/ 19 февраля 2009

В моем опыте Subversion гораздо более дружественен к Windows, а также более полезен для индивидуального разработчика.

Еще одна возможность - это Perforce, которая немного менее удобна для Windows, но полнофункциональна и довольно проста в использовании, не говоря уже о бесплатной поддержке для двух пользователей.

4 голосов
/ 19 февраля 2009

Я бы пошел с Mercurial вместо. Предполагается, что он похож на Git (который я так и не смог запустить из-за проблемы с Windows) и действительно прост в настройке в Windows и очень хорош для «личных» систем контроля версий.

4 голосов
/ 19 февраля 2009

Если вы работаете в одиночку и хотите, чтобы какой-то контроль версий был простым в использовании, тогда используйте Subversion. Это отлично работает в Windows, настройка хранилища выполняется одним щелчком правой кнопкой мыши в пустом месте с Tortoise SVN . Ankh SVN обеспечивает очень хорошую интеграцию с Visual Studio - почти наравне с TFS, если вы используете VS 2005 или более позднюю версию.

С другой стороны, Git гораздо более перспективен, чем SVN. Я проверю это в течение этого года, но сторонние инструменты еще не на высоте.

4 голосов
/ 19 февраля 2009

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

3 голосов
/ 19 февраля 2009

То, что вы решите использовать, во многом зависит от того, что вам нужно сейчас и в будущем. У Git очень хорошее сообщество, построенное вокруг него с GitHub , которое отлично подходит для обмена кодом и проектами. SVN довольно прост в настройке и начале работы, но в больших командах Git превосходит его по ветвлению и слиянию. Это идеально в тех случаях, когда над одним и тем же проектом работают несколько человек, будь то в офисе или в формате OSS, когда команда распределена.

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

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

2 голосов
/ 20 февраля 2009

Если вы хотите интеграцию с Visual Studio, это не вопрос. Только Subversion имеет интеграции с Visual Studio ( AnkhSVN , VisualSVN и несколько сценариев, обеспечивающих доступ к TortoiseSVN ).

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

Маловероятно, что Git получит тот же уровень интеграции в Visual Studio, прежде чем станет доступна поддержка git, как какая-то библиотека многократного использования. (Есть планы на libgit2 , которые могли бы сделать это реальностью).

1 голос
/ 04 апреля 2012

Отличным ответом на этот вопрос было недавнее письмо Джека Репеннинга, написанное здесь:

  • Если у вас есть неопровержимые требования для одной, определенной, мастер-копии вашей работы, используйте Subversion. Вы можете делать это с помощью Git, если нет промахов. UPS. Но вы ничего не можете сделать с Subversion (ошибки или нет), и «неотразимые требования», такие как Сарбейнс-Оксли, более счастливы с гарантиями, чем возможностями.

  • Если вы планируете поддерживать параллельные, в значительной степени общие, но постоянно несколько отличающиеся линии одного и того же продукта, используйте Git. Один общий пример: возможно, у вас есть большой продукт, который вы настраиваете для каждого клиента. Настройки являются постоянными и, как правило, не разделяются между строками кода, но большая часть кода является общей для всех. Git был разработан именно для этого случая (в терминах Git, локальных настроек для общего ядра, а также случайных изменений или дополнений к исправлению ошибок)

  • Ничего из этого? Сделайте свой выбор, вам будет хорошо с любым инструментом. *

Полный блог здесь: http://blog.codesion.com/post/15692788883/subversion-or-git-decisions-decisions

1 голос
/ 24 февраля 2011

Git ................................ (эти точки есть, потому что ТАК не принимает 3-х буквенный ответ) .

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