45

После некоторого поиска на форумах SO, Google и MSDN я разочаровался в том, что информации так мало, что может показаться очевидным вопросом и, возможно, немым вопросом.Контроль версий в Visual Studio 2010?

Мне нужно использовать контроль источника в Visual Studio 2010 Professional. У меня нет отдельного Team Foundation Server 2010. Некоторые люди упомянули SourceSafe? Я не видел ни одного SourceSafe внутри Visual Studio 2010, если честно.

Каковы некоторые альтернативы (желательно бесплатно) для управления версиями в Visual Studio 2010? Или он уже интегрирован в Visual Studio 2010, что я настолько слеп, что пропустил это?

Update # 1: Спасибо всем, я пойду с SVN, в частности AnkhSVN для Visual Studio 2010.

Обновление 3/23/2011: Это было почти год, так как я задали этот вопрос. Я настоятельно рекомендую использовать либо Mercurial, либо Git над Subversion. Таким образом, для тех из вас, кто ищет систему управления версиями Visual Studio 2010, смотрите не дальше, чем расширения Git или Mercurial из библиотеки расширения Visual Studio.

Обновление 5/16/2013: Я бы сейчас настоятельно рекомендуем вам использовать Git над Mercurial, ТФС или SVN. Посмотрите на CodeSchool'sTry GitHub в браузере чтобы увидеть, как это здорово!

  • Getting Started with Git on Visual Studio 2012 - углубленное учебник по Энди Льюис.

  • Visual Studio Tools for Git - Расширение для Team Explorer для обеспечения интеграции управления версиями для Git. Включает интеграцию с локальными репозиториями Git и предоставляет инструменты для работы с удаленными репозиториями.

enter image description here

+3

Спасибо за ваши недавние рекомендации. Специально полезно для тех, кто только начинает использовать системы управления версиями, такие как я. +1 – Arman

+0

Большое спасибо за обновление вопроса. Вы по-прежнему рекомендуете GIT для контроля версий? –

ответ

17

См: List of Source Control Systems with Visual Studio Plugins


Visual Studio является только IDE. Вы можете использовать любое решение для управления версиями, которое вы хотите с ним. Любое решение управления исходным кодом с открытым исходным кодом, в частности, git, mercurial (hg) или subversion (svn). И есть такие коммерческие продукты, как Perforce или SourceGear Vault. См. here для получения исчерпывающего списка и google для получения дополнительной информации.

Вы можете найти плагины Visual Studio, которые интегрируют его с любым элементом управления источником. В этом отношении особенно важна подрывная деятельность с открытым исходным кодом. Коммерческие обычно приходят с этой интеграцией.

И если вы не используете источник управления, который требует, чтобы вы явно проверяли файлы для их редактирования (например, VSS или TFS), интеграция IDE даже не нужна. Я лично предпочитаю использовать git или subversion извне IDE.


И, пожалуйста, оставайтесь как можно дальше от Visual SourceSafe.

+4

SourceSafe = Pure Evil. –

+2

@ Андрю Фланаган: Я считаю, что здесь не было никакой плохой воли. В VSS нет зла. Просто лень и глупость. –

+0

Git заставил меня преодолеть мой страх перед командной строкой, и я благодарен за это, также очень популярен в сообществе с открытым исходным кодом, если вы когда-либо занимаетесь работой вне Visual Studio. Отличное место для продвижения веб-приложений .NET в стадии разработки - appharbor.com, – Alex

2

Как @Tomek предложил использовать Subversion.

Заканчивать этот пост, который поможет вам использовать подрывную и AnkhSVN (VS плагин) с VS2010

Visual Studio 2010, subversion with AnkhSVN

+0

Только что обновил мое сообщение для AnkhSVN :) –

+0

Я не __s предложил__, используя subversion. Я только показал указатели на популярные альтернативы. На самом деле, если бы мне пришлось порекомендовать что-то, это было бы git или mercurial (в зависимости от вашего вкуса, я предпочитаю git). Subversion имеет для нее относительную простоту и зрелость (отсюда много хороших инструментов, включая плагины VS и просто _ловело_ TortoiseSVN). Но мне это не нравится, потому что он не может сказать свою ветку из своей папки и просто не может слиться. Не так сильно, как TFS, но все же ... –

7

Я использую Ankh SVN вместе с Subversion на стороне сервера, и она отлично работает для меня , Mercurial и Git более популярны, чем SVN в последнее время, хотя есть и Visual HG, плагин Mercurial для визуальной Studio.

Редактировать: Между тем я переключился на Mercurial (Tortoise HG plus Visual HG) и никогда не оглядывался назад. Потребуется несколько часов, чтобы привыкнуть к Mercurial, если вы пришли из Subversion, но после этого это действительно легкий ветерок. Даже если вам не нужен распределенный CVS, у Mercurial все еще есть много приятных функций, которые недоступны в Tortoise SVN. Кроме того, он выглядит довольно стабильным, особенно в отношении ветвления.

+0

На SO была замечательная статья, которая сравнивает Git vs SVN. Я буду придерживаться SVN, так как он соответствует моим потребностям просто отлично! ;) –

+0

@ Rihanna.Rain: Я тоже, но я потратил много тепла, чтобы рекомендовать SVN в последний раз на SO, я подумал, что лучше указать альтернативы ... –

+1

Спасибо за это - до сих пор я не знал любой интеграции между VS и Mercurial. Это может быть именно то, что мне нужно! –

2

Позвольте мне добавить еще один вариант в список SCM, интегрированных с Visual Studio 2010: Plastic SCM. Вы можете проверить, как it looks like here.

Имеется доступная версия Community Edition.

-2

У меня есть использование Subversion и Mecurial по проектам, и оба из них заставили меня вспомнить, что мы работаем с ненадежными (по уважительной причине) визуальным источником безопасности. Оба будут «работать», но оба показывают свои корни unix-programmer (без каламбуры) с загадочными сообщениями об ошибках и тупой, черной магии. Контроль источника должен быть простым, надежным и оставаться в стороне. Ни SNV, ни Mecurial не подходят. Mecurial проще в использовании, если ничего не выходит из строя, что составляет около 80% времени.

Если вы работаете только один разработчик, я бы использовал Mercurial.

Вот пример того, почему я ненавижу этот:

нажав на Z: \ Repos \ SupplierAdminWebRepo поиска изменений новые дистанционные головки по отрасли «по умолчанию» [Error: отмена: нажатие создает новый удаленный голова 9cfbad6249a9] новый дистанционный глава 9cfbad6249a9 [Error: (? вы забыли слить с помощью нажимной -f, чтобы заставить)]

[Операция завершена. Код выхода: 255]