Я использую Microsoft Visual SourceSafe для управления версиями. Я хотел бы изменить этот подход и использовать более новое программное обеспечение для этой работы. Каковы различия между этими тремя приложениями? Какой лучше?
Эти решения интегрируются с Visual Studio?
TFS - это решение для управления жизненным циклом приложений, SVN и Git - только для управления версиями .
TFS осуществляет контроль версий, а также отслеживание проблем, управление документами, отчетность, непрерывную интеграцию, виртуальные лаборатории для тестирования и т. Д.
Контроль версий и SVN TFS - это централизованный контроль версий, Git распространяется.
В Stackoverflow было много дискуссий о сравнении TFS и SVN.
TFS наиболее тесно интегрирована с Visual Studio.
SVN имеет несколько сторонних опций для интеграции в Visual Studio, и они довольно хороши, но не так тесно интегрированы, как TFS.
Git имеет GitExtensions, который обеспечивает низкий уровень интеграции с Visual Studio.
Я могу говорить только об интеграции Visual Studio для SVN. Я использовал как VisualSVN , так и AnkhSVN . Оба они имеют довольно тесную интеграцию и позволяют выполнять различные операции из меню обозревателя решений так, как вы обычно делали бы это с помощью VSS. Версия 2+ Ankh (которую я сейчас использую) оказалась для меня очень стабильной и намного лучше, чем предыдущие версии.
Это похоже на довольно подробное обсуждение использования Git с Visual Studio .
Лучшее - это большая дискуссия, но в том же направлении нужно учитывать стоимость.
SVN бесплатен, тогда как TFS - нет. Тем не мение; если у вас есть Visual Studio по подписке MSDN и это достаточно высокий уровень , то вы получите TFS2010 бесплатно через загрузку подписки MSDN после выпуска. Это может быть фактором, который склоняет чашу весов.
Что касается интеграции с Visual Studio, вы не можете превзойти Team Explorer для TFS. Однако я использовал Anhk с SVN, и это тоже хорошо работает. Думаю, остальное уже было сказано: -)
Надеюсь, это поможет.
Это в дополнение к другим ответам, а не полный ответ, поскольку Майкл Шимминс удовлетворил большую часть того, что я бы сказал
TFS (особенно 2010) - это невероятно доступный для реализации техник управления версиями, которые было бы ужасно трудно реализовать с помощью VSS. Разветвление и слияние с TFS намного проще, чем с SVN, чтобы начать и следовать с течением времени. Я бы сказал то же самое о Git с точки зрения взаимодействия с пользователем, но эти инструменты постепенно улучшаются.
Git - отличный инструмент, если вы тратите время на наращивание мощности, а методы, которые сообщество принимает в качестве стандартной практики, стоит усилий в любой системе управления версиями. Вы по-прежнему будете сталкиваться с конфликтами с файлами SLN и CSProj / VBProj в группах из> 2 человек. Это результат того, как эти файлы структурированы и управляются.