Подтвердить что ты не робот

Git или Subversion?

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

4b9b3361

Ответ 1

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

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

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

Ответ 2

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

Ответ 3

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

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

Ответ 4

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

Ответ 5

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

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

Ответ 6

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

Ответ 7

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

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

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

Ответ 8

Если вам нужна интеграция с Visual Studio, нет никаких сомнений. Только Subversion имеет интеграцию с Visual Studio (AnkhSVN, VisualSVN и несколько сценариев, разрешающих доступ к TortoiseSVN).

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

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

Ответ 9

Позвольте мне поехать на ваш вопрос и спросить:

  • Работает ли Git на Windows?
  • Есть ли у него что-то, что эквивалентно черепахе? (в противном случае я не вижу, как он может конкурировать с SVN с точки зрения простоты использования).

На стороне примечания: если это действительно проект для одного человека, вам действительно не нужен какой-либо инструмент для управления версиями. Просто разместите свой проект в папке DropBox, и все готово (автоматические коммиты, бесконечные ревизии, восстановление). Если вы действительно не думаете, что вам понадобятся теги, ветки и прочее. Но для личных домашних проектов... do ya?

Ответ 10

Вы можете сделать свое собственное мнение после прочтения этого: http://whygitisbetterthanx.com

Ответ 11

Git................................ (эти точки есть, потому что SO не согласны с 3-мя символами ответил).

Ответ 12

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

  • Если у вас есть убедительные требования к одной, определенной, основной копии вашей работы, используйте Subversion.. Вы можете сделать это с помощью Git, если нет слайдов, UPS. Но вы не можете делать что-либо еще с Subversion (slip-ups или no), а "неотразимые требования", такие как Sarbanes-Oxley, более счастливы с гарантиями, чем возможностями.

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

  • Ни один из них? Сделайте выбор, вы должны быть в порядке с любым инструментом. *

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

Ответ 13

С SVN вам нужно будет настроить сервер, создать там репозиторий, проверить (пустой) репозиторий, добавить свои файлы и затем совершить.

С Git все, что вам нужно, это git init в корневом каталоге проекта. Затем вы можете добавлять и фиксировать файлы по своему усмотрению.

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

Ответ 14

По моему опыту, Subversion легче "grok", но Git быстрее и проще заниматься передовой практикой разработки программного обеспечения. Будучи бывшим пользователем CVS, Subversion сразу поняла меня, когда я начал использовать его. Git провел некоторое исследование, и мне все равно приходится обращаться к руководству время от времени, но мне нравится, как легко это использовать для разделения и слияния кода, когда я должен поддерживать процесс выпуска.

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

Я рекомендую вам взглянуть на хостинг-провайдера, поэтому вам не нужно беспокоиться о настройке сервера Subversion или чтобы вы могли иметь место для резервного копирования для ваших данных Git. Вы можете использовать Google для subversion hosting "или git hosting ", чтобы увидеть главных поставщиков в пространстве.

Ответ 15

Если вы планируете использовать свой проект на USB-накопителе, используйте Subversion. Windows XP действительно, действительно, очень плохо при кэшировании большого количества небольших файлов на USB-накопителе. Git записывает много мелких файлов для операций фиксации и занимает много времени в Windows.

[EDIT] Проблема с Windows XP и файлами на USB-накопителе - это кеширование (или его отсутствие). Чтобы предотвратить потерю данных, XP всегда будет синхронизировать файлы на USB-накопителе (так что любая запись вернется только после того, как FS сообщит, что все блоки записаны на палку). Добавьте это к тому, что USB-накопители работают медленно при работе с небольшими файлами (у них много начальных инициализации управления уровнем износа), что приводит к очень низкой производительности для любого приложения, которое записывает множество небольших файлов.

[EDIT2] Если вы поместите SVN-чек на USB-накопитель, у вас также будет много небольших файлов (особенно в каталогах .svn). Таким образом, решение в этом случае состоит в том, чтобы поместить репозиторий Subversion ( "сервер" ) на USB-накопитель. Репозиторий использует только кучу больших файлов (если вы используете опцию базы данных вместо файла на основе: svnadmin create --fs-type bdb). Это позволяет избежать "проблемы с небольшими файлами". Невозможно добиться того же результата с текущими версиями Git.