Как давний пользователь Visual SourceSafe (и ненавистник) я обсуждал переход на SVN с коллегой; вместо этого он предложил использовать Git . Поскольку, по-видимому, его можно использовать как одноранговый без центрального сервера (мы являемся командой из 3 разработчиков).
Я не смог найти ничего об инструментах, которые интегрируют Git с Visual Studio, хотя - такая вещь существует?
Какие технологии доступны для использования Git с Visual Studio? И что мне нужно знать о том, как они отличаются, прежде чем я начну?
visual-studio
git
Херб Каудилл
источник
источник
Ответы:
В январе 2013 года Microsoft объявила о добавлении полной поддержки Git во все свои продукты ALM. Они опубликовали плагин для Visual Studio 2012, который добавляет интеграцию управления исходным кодом Git.
Кроме того, существует проект под названием Git Extensions, который включает надстройки для Visual Studio 2005, 2008, 2010 и 2012, а также интеграцию с Windows Explorer. Он регулярно обновляется, и, использовав его в нескольких проектах, я нашел его очень полезным.
Другой вариант - Git Source Control Provider .
источник
Я использую Git с Visual Studio для моего порта буферов протокола к C #. Я не использую графический интерфейс - я просто держу командную строку открытой, как и Visual Studio.
По большей части это нормально - единственная проблема - когда вы хотите переименовать файл. И Git, и Visual Studio предпочли бы, чтобы они переименовали его. Я думаю, что переименование его в Visual Studio - это то, что нужно - просто будьте осторожны с тем, что вы делаете на стороне Git впоследствии. Хотя в прошлом это было немного болезненно, я слышал, что это должно быть довольно гладко на стороне Git, потому что он может заметить, что содержимое будет в основном таким же. (Обычно не совсем то же самое - вы склонны переименовывать файл при переименовании класса в IME.)
Но в принципе - да, работает нормально. Я новичок в Git, но я могу заставить его делать все, что мне нужно. Убедитесь, что у вас есть файл git ignore для bin и obj и * .user.
источник
Git Source Control Provider - это новый плагин, который интегрирует Git с Visual Studio.
источник
Я немного изучил это на работе (как с Subversion, так и с Git). Visual Studio фактически имеет API интеграции управления исходным кодом, позволяющий интегрировать сторонние решения по управлению исходным кодом в Visual Studio. Тем не менее, большинство людей не беспокоится об этом по нескольким причинам.
Во-первых, API в значительной степени предполагает, что вы используете рабочий процесс с блокированной проверкой. В нем много хуков, которые либо дороги, либо реализуются, либо просто не имеют смысла, когда вы используете более современный рабочий процесс редактирования-слияния.
Второе (связанное с этим) заключается в том, что когда вы используете рабочий процесс edit-merge, который поощряют и Subversion, и Git, вам на самом деле не нужна интеграция с Visual Studio. Основная проблема интеграции SourceSafe с Visual Studio заключается в том, что вы (и редактор) с первого взгляда можете определить, какие файлы у вас есть, какие должны быть извлечены перед редактированием, а какие нет, даже если вы этого хотите. Тогда он может помочь вам сделать все, что нужно для контроля версий, когда вам нужно отредактировать файл. Ничто из этого даже не является частью типичного рабочего процесса Git.
Когда вы используете Git (или, как правило, SVN), все ваши взаимодействия контроля версий происходят либо до сеанса разработки, либо после него (после того, как у вас все работает и тестируется). В этот момент действительно не так уж сложно использовать другой инструмент. Вам не нужно постоянно переключаться назад и вперед.
источник
Я считаю, что Git, работая над целыми деревьями, извлекает меньшую выгоду от интеграции IDE, чем инструменты управления исходным кодом, которые основаны на файлах или следуют шаблону checkout-edit-commit. Конечно, есть случаи, когда было бы неплохо нажать на кнопку, чтобы провести какое-то изучение истории, но я не очень скучаю по этому.
Реально нужно сделать так, чтобы ваш файл .gitignore был полон вещей, которых не должно быть в общем хранилище. Мои обычно содержат (среди прочего) следующее:
но это в значительной степени предвзято относится к C ++, практически не используя функциональность в стиле мастера классов.
Мой шаблон использования выглядит примерно так:
Код, код, код в Visual Studio.
Когда все в порядке (разумная промежуточная точка для фиксации кода, переключитесь на Git, внесите изменения и просмотрите различия. Если что-то явно не так, переключитесь обратно в Visual Studio и исправьте, в противном случае подтвердите.
Любое слияние, ветвление, перебазирование или другие интересные вещи SCM легко сделать в Git из командной строки. Visual Studio обычно довольно довольна тем, что происходит под ней, хотя иногда может потребоваться перезагрузить некоторые проекты, если вы значительно изменили файлы проекта.
Я считаю, что полезность Git перевешивает любые незначительные неудобства, связанные с отсутствием полной интеграции IDE, но это, в некоторой степени, дело вкуса.
источник
git rm <file>
иecho <file> >>.gitignore; git add .gitignore
на кончиках ваших активных веток. После внесения изменений вы всегда можете выбрать исправление для других веток.Microsoft недавно анонсировала Git для Visual studio 2012 (обновление 2). Я еще не играл с этим, но это видео выглядит многообещающим.
Вот краткое руководство по использованию Git из Visual Studio 2012.
источник
Также не пропустите TortoiseGit ... https://tortoisegit.org/
источник
Есть инструменты Visual Studio для Git от Microsoft. Он поддерживает только Visual Studio 2012 (обновление 2).
источник
Visual Studio 2013 изначально поддерживает Git.
Смотрите официальное объявление .
источник
Поддержка Git, выполняемая Microsoft в Visual Studio, достаточно хороша для основной работы (commit / fetch / merge and push). Мой совет просто избегать этого ...
Я очень предпочитаю GitExtensions (или в меньшей пропорции SourceTree ). Потому что для меня действительно важно понять DAG, как работает Git. И вы намного больше осведомлены о том, что сделали другие участники вашего проекта!
В Visual Studio вы не можете быстро увидеть разницу между файлами или коммитом, ни (добавить в индекс) и зафиксировать только часть изменений. Просматривать свою историю тоже нехорошо ... Все это заканчивается болезненным опытом!
И, например, GitExtensions включает в себя интересные плагины: фоновая выборка, GitFlow, ... и теперь непрерывная интеграция !
Для пользователей Visual Studio 2015 Git обретает форму, если вы установите расширение GitHub. Но внешний инструмент все же лучше ;-)
источник
TortoiseGit созрел, и я рекомендую его, особенно если вы использовали TortoiseSVN.
источник
Новейшая версия Git Extensions теперь поддерживает Visual Studio 2010 (наряду с Visual Studio 2008 и Visual Studio 2005 ).
Я обнаружил, что его довольно легко использовать с Visual Studio 2008, и интерфейс в Visual Studio 2010 кажется таким же.
источник
Самое простое решение, которое на самом деле работает достаточно хорошо, - это добавить команды TortoiseGit в качестве внешних инструментов.
Решение для добавления панели инструментов Git (TortoiseGit) в Visual Studio
источник
По словам Джона Риммера, вы можете использовать GitExtensions. GitExtensions работает в Visual Studio 2005 и Visual Studio 2008, он также работает в Visual Studio 2010, если вы вручную копируете и конфигурируете файл .Addin.
источник
В настоящее время есть два варианта управления исходным кодом Git в Visual Studio (2010 и 12):
Я попробовал оба и нашел, что 1-й является более зрелым, и имеет больше особенностей. Например, он прекрасно работает как с git-черепахой, так и с git-расширениями, и даже раскрывает их возможности.
Примечание . Какое бы расширение вы не использовали, убедитесь, что вы включили его,
Tools -> Options -> Source control -> Plugin Selection
чтобы оно работало.источник
С 2013-02-11 плагин Microsoft Git для Visual Studio 2012 должен работать и с версией Express .
источник