Использование Git с Visual Studio

Как давний пользователь Visual SourceSafe (и ненавистник), я обсуждал переход на SVN с коллегой; он предложил использовать Git вместо этого. Поскольку, по-видимому, его можно использовать как одноранговый без центрального сервера (мы команда из 3 разработчиков).

Я не смог найти ничего об инструментах, которые интегрируют Git с Visual Studio, хотя - существует ли такая вещь?

Какие технологии доступны для использования Git с Visual Studio? И что мне нужно знать о том, как они отличаются, прежде чем я начну?

Комментарии к вопросу (9)
Решение

В январе 2013 года Microsoft объявила, что они добавляют полную поддержку Git во все свои продукты ALM. Они опубликовали плагин для Visual Studio 2012, который добавляет интеграцию управления исходным кодом Git.

Кроме того, существует проект под названием Git Extensions, который включает надстройки для Visual Studio 2005, 2008, 2010 и 2012, а также интеграцию с Windows Explorer. Он регулярно обновляется, и, используя его в нескольких проектах, я нашел его очень полезным.

Другой вариант - Поставщик управления источником Git.

Комментарии (21)

Я использую Git с Visual Studio для моего порта буферов протокола на C #. Я не использую графический интерфейс - я просто держу открытую командную строку, а также Visual Studio.

По большей части это нормально - единственная проблема - когда вы хотите переименовать файл. И Git, и Visual Studio предпочли бы, чтобы они переименовали его. Я думаю, что переименование его в Visual Studio - это путь, который нужно сделать - просто будьте осторожны с тем, что вы делаете на стороне Git впоследствии. Хотя в прошлом это было немного болезненно, я слышал, что на самом деле это должно быть довольно плавно на стороне Git, потому что он может заметить, что содержимое будет в основном одинаковым. (Обычно не совсем то же самое - вы склонны переименовывать файл при переименовании класса, IME.)

Но в основном - да, это работает нормально. Я новичок в Git, но я могу заставить его делать все, что мне нужно. Убедитесь, что у вас есть файл git ignore для bin и obj и * .user.

Комментарии (13)

Git Source Control Provider - это новый плагин, который объединяет Git с Visual Studio.

Комментарии (3)

Я немного изучил это на работе (как с Subversion, так и с Git). Visual Studio фактически имеет API интеграции с исходным кодом, который позволяет интегрировать сторонние решения управления исходным кодом в Visual Studio. Тем не менее, большинство людей не беспокоятся об этом по нескольким причинам.

Во-первых, API в значительной степени предполагает, что вы используете рабочий процесс с заблокированным выездом. В нем много крючков, которые либо стоят дорого, либо просто не имеют смысла, когда вы используете более современный рабочий процесс редактирования-слияния.

Второе (что связано) заключается в том, что когда вы используете рабочий процесс редактирования-слияния, который поощряют как Subversion, так и Git, вам на самом деле не нужна интеграция Visual Studio. Основная проблема интеграции SourceSafe с Visual Studio заключается в том, что вы (и редактор) можете сразу определить, какие файлы у вас есть, какие необходимо проверить, прежде чем вы сможете редактировать, а какие нельзя проверить, даже если вы хотите. Тогда это может помочь вам сделать все, что вам нужно, чтобы изменить файл. Ничто из этого даже не является частью типичного рабочего процесса Git.

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

Комментарии (9)

Я считаю, что Git, работающий на целых деревьях, получает меньшую выгоду от интеграции IDE, чем инструменты управления исходным кодом, которые либо основаны на файлах, либо следуют шаблону checkout-edit-commit. Конечно, бывают случаи, когда может быть приятно нажать на кнопку, чтобы сделать некоторый экзамен по истории, но я не очень скучаю.

Реальное, что нужно сделать, это заполнить файл .gitignore вещами, которых не должно быть в общем хранилище. Мой обычно содержит (среди прочего) следующее:

*.vcproj.*.user
*.ncb
*.aps
*.suo

но это сильно смещено на C ++, практически не используется ни одна функциональность стиля мастера класса.

Мой шаблон использования примерно такой же, как следующий.

  1. Код, код, код в Visual Studio.

  2. Когда счастливы (разумная промежуточная точка для фиксации кода, переключиться на Git, изменения стадии и обзор различий. Если что-то явно не так, вернитесь в Visual Studio и исправьте, в противном случае совершите коммит.

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

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

Комментарии (10)

Microsoft недавно анонсировала Git for Visual studio 2012 (обновление 2). Я еще не играл с этим, но это видео выглядит многообещающе.

Вот краткий учебный о том, как использовать Git из Visual & nbsp; Studio & nbsp; 2012.

Комментарии (1)

Также не пропустите TortoiseGit... https://tortoisegit.org/

Комментарии (2)

Microsoft представляет Visual Studio Tools for Git. Он поддерживает только Visual & nbsp; Studio & nbsp; 2012 (обновление 2).

Комментарии (3)

Visual Studio 2013 изначально поддерживает Git.

Смотрите официальное объявление.

Комментарии (0)

Поддержка Git, выполняемая Microsoft в Visual Studio, достаточно хороша для основной работы (коммутация / извлечение / слияние и толчок). Мой совет - просто избегать этого...

Я предпочитаю GitExtensions (или в меньшей пропорции SourceTree). Потому что видеть DAG для меня очень важно понять, как работает Git. И вы намного лучше знаете, что сделали другие участники вашего проекта!

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

И, например, GitExtensions поставляется с интересными плагинами: background fetch, GitFlow... и теперь непрерывная интеграция!

Для пользователей Visual & nbsp; Studio & nbsp; 2015 Git обретает форму, если вы устанавливаете расширение GitHub. Но внешний инструмент еще лучше ;-)

Комментарии (1)

TortoiseGit повзрослел, и я рекомендую его, особенно если вы использовали TortoiseSVN .

Комментарии (0)

Новейший выпуск Git Extensions поддерживает Visual & nbsp; Studio & nbsp; 2010 сейчас (наряду с Visual & nbsp; Studio & nbsp; 2005 и [Visual & nbsp; Studio 20000,2].

Я обнаружил, что его довольно легко использовать с Visual & nbsp; Studio & nbsp; 2008, и интерфейс, по-видимому, одинаков в Visual & nbsp; Studio & nbsp; 2010.

Комментарии (0)

Самое простое решение, которое действительно работает довольно хорошо, - это добавить команды TortoiseGit в качестве внешних инструментов.

https://stackoverflow.com/questions/6169851/solution-to-adding-a-git-tortoisegit-toolbar-to-visual-studio

Комментарии (1)

В настоящее время существует 2 варианта управления исходным кодом Git в Visual Studio (2010 и 12):

  1. Поставщик управления источником Git
  2. Microsoft Git Provider

Я попробовал оба и нашел 1-й более зрелым и имеет больше возможностей. Например, он хорошо играет как с расширениями черепахи git, так и с git, и даже раскрывает их возможности.

Примечание : какое бы расширение вы ни использовали, убедитесь, что вы включили его из Инструменты - > Параметры - > Управление источником - > Выбор плагинадля его работы.

Комментарии (0)

Как и Джон Риммер, вы можете использовать GitExtensions. GitExtensions работает в Visual Studio 2005 и Visual Studio 2008, а также в Visual Studio 2010, если вы вручную копируете и настраиваете файл .Addin.

Комментарии (1)