Вопрос: Использование Git с Visual Studio [закрыто]


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

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

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


1400


источник


Ответы:


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

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

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


1052



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

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

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


194



Поставщик контроля источника Git это новый плагин, который объединяет Git с Visual Studio.


90



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

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

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

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


52



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

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

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

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

Моя схема использования выглядит примерно так:

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

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

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

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


37



Microsoft announced Git for Visual studio 2012 (update 2) recently. I have not played around with it yet, but this video looks promising.

Here is a quick tutorial on how to use Git from Visual Studio 2012.


31



Also don't miss TortoiseGit... https://tortoisegit.org/


28



There's a Visual Studio Tools for Git by Microsoft. It only supports Visual Studio 2012 (update 2) though.


26