Упрощение управления версиями в Visual Studio с помощью Git

Область применения:yesVisual StudionoVisual Studio для Mac noVisual Studio Code

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

Git — это самая широко используемая система управления версиями в современном мире. С помощью Git вы можете отслеживать изменения, вносимые в код с течением времени, и выполнять откат к определенным версиям. Возможности Git в Visual Studio могут принести большую пользу и новичкам, и профессиональным разработчикам.

Совет

Чтобы узнать об использовании Git и GitHub в Visual Studio, зарегистрируйтесь для прохождения серии курсов Git Learning Series.

Начало работы с Git & GitHub в Visual Studio

С помощью Git можно легко управлять версиями в Visual Studio. Работайте так, как вам удобно: удаленно через выбранного поставщика Git, такого как GitHub или Azure DevOps, или локально без каких-либо поставщиков.

Чтобы начать работу с Git в Visual Studio, сделайте следующее:

  • Если у вас есть Git-репозиторий, размещенный у поставщика, например в GitHub, клонируйте репозиторий на свой локальный компьютер.

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

Вы можете добавить учетные записи GitHub и GitHub Enterprise в свою цепочку ключей и использовать их так же, как учетные записи Майкрософт. Если у вас нет учетной записи GitHub, воспользуйтесь инструкциями, чтобы создать учетную запись GitHub для использования с Visual Studio прямо сейчас.

Если вы новичок в Git, вы можете начать с сайта https://git-scm.com/.

Диалоговое окно

Просмотр файлов в обозревателе решений

При клонировании репозитория или открытии локального репозитория Visual Studio переключается на контекст Git. Обозреватель решений загружает папку в корне репозитория Git и проверяет дерево каталогов на наличие просматриваемых файлов, например CMakeLists.txt или файлов с расширением .sln. Дополнительные сведения см. в разделе Просмотр файлов в Обозревателе решений.

Интуитивный повседневный рабочий процесс

Для повседневного рабочего процесса Git Visual Studio предоставляет простой способ взаимодействия с Git при написании кода без необходимости покидать свой код.

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

Создав новую ветвь и переключившись на нее, можно приступить к работе, изменив существующие файлы или добавив новые, а затем зафиксировав работу в репозитории. Чтобы узнать больше о фиксации в Visual Studio и состоянии файлов в Git см. страницу Фиксация кода.

Git — это распределенная система управления версиями, то есть все изменения, которые мы уже внесли, существуют только локально. Чтобы внести эти изменения в удаленный репозиторий, необходимо отправить локальные фиксации на удаленный узел.

Если вы работаете в команде или используете разные компьютеры, вам также потребуется постоянно получать новые изменения из удаленного репозитория. Дополнительные сведения об управлении сетевыми операциями Git в Visual Studio см. на странице Получение, вытягивание, отправка и синхронизация.

Интегрированная среда разработки Visual Studio с меню Git и вкладка

Совместная работа по управлению репозиториями &

Однако бывают случаи, когда лучше сосредоточиться на репозитории Git. Например, вы хотите понять, над чем работает команда, скопировать фиксацию из другой ветви или просто очистить исходящие фиксации. Visual Studio включает мощные функции для просмотра репозиториев и совместной работы, благодаря которым использовать другие средства не требуется.

Чтобы вы могли сосредоточиться на репозитории Git, в Visual Studio есть окно Репозиторий Git, в котором представлены все сведения о репозитории, включая локальные и удаленные ветви и журналы фиксации. Открыть это окно можно из меню GIT или Вид либо непосредственно из строки состояния.

Интегрированная среда разработки Visual Studio, в которой выделено меню Git и вкладка

Просмотр репозиториев Git и управление ими

Дополнительные сведения об использовании окна репозитория Git в Visual Studio для просмотра репозитория Git и управления им см. на следующих страницах:

Разрешение конфликтов слияния

Во время слияния могут возникать конфликты, если два разработчика изменяют одни и те же строки в файле и Git неизвестно, какой вариант правильный. В этом случае GIT прерывает слияние и сообщает о конфликтном состоянии. Дополнительные сведения см. в статье о разрешении конфликтов слияния.

Настройка параметров GIT

Чтобы настроить параметры Git на уровне репозитория, а также на глобальном уровне, выполните приведенные ниже действия.

  1. Перейдите враздел ПараметрыGit> в строке меню или Средства>Параметры>Системы управления версиями>Глобальные параметры Git
  2. Затем выберите нужные параметры.

Диалоговое окно

Теперь Git является интерфейсом системы управления версиями по умолчанию в Visual Studio 2019. Начиная с версии 16.6 мы работаем над созданием набора функций на основе ваших отзывов. В версии 16.8 Git стал интерфейсом управления версиями по умолчанию для всех.

Примечание

Мы продолжаем расширять набор возможностей Git в Visual Studio 2022. Дополнительные сведения о последнем обновлении компонентов см. в записи блога Поддержка нескольких репозиториев в Visual Studio.

Дополнительные сведения о Git

Git — это наиболее широко используемая современная система управления версиями, которая может быть полезна как профессиональным разработчикам, так и только начинающим изучать программирование. Если вы новичок в Git, вы можете начать с сайта https://git-scm.com/. Там вы найдете памятки, популярную электронную книгу и видеоматериалы по основам Git.

Начало работы с Git в Visual Studio 2019

Мы подробно расскажем вам о том, как использовать новый интерфейс Git в Visual Studio. Однако если вы хотите сначала ознакомиться с кратким обзором, посмотрите следующее видео:

Длительность видео: 05:27 мин.

Существует три способа начать использование Git в Visual Studio для повышения производительности:

Примечание

Начиная с версии 16.8 Visual Studio 2019 включает полностью интегрированный интерфейс для работы с учетными записями GitHub. Теперь вы можете добавить в цепочку ключей учетные записи GitHub и GitHub Enterprise. Вы сможете добавлять и использовать их так же, как и учетные записи Майкрософт. Это позволит упростить доступ к ресурсам GitHub в Visual Studio. Дополнительные сведения см. на странице Работа с учетными записями GitHub в Visual Studio.

Совет

Если у вас нет учетной записи GitHub, можно начать с выполнения действий, описанных в разделе Создание учетной записи GitHub для использования с Visual Studio.

Создание нового репозитория Git в Visual Studio 2019

Если ваш код не связан с GIT, можно начать с создания нового репозитория GIT. Для этого в строке меню выберите GIT>Создать репозиторий GIT. Затем в диалоговом окне Создание репозитория GIT введите свои данные.

Диалоговое окно

С помощью диалогового окна Создание репозитория GIT можно легко отправить новый репозиторий в GitHub. По умолчанию новый репозиторий является частным. Это означает, что доступ к нему есть только у вас. Если снять соответствующий флажок, репозиторий будет общедоступным. Это означает, что любой пользователь в GitHub сможет его просмотреть.

Совет

Независимо от того, является ли репозиторий общедоступным или частным, лучше создать удаленную резервную копию кода, которая будет безопасно храниться в GitHub, даже если вы работаете сами по себе. Это также позволит вам получать доступ к коду с любого компьютера.

Вы можете создать исключительно локальный репозиторий GIT, выбрав параметр Только локальный. Вы также можете связать локальный проект с любым существующим пустым удаленным репозиторием, размещенным в Azure DevOps или у любого другого поставщика Git, с помощью параметра Существующий удаленный репозиторий.

Клонирование существующего репозитория Git в Visual Studio 2019

В Visual Studio процесс клонирования прост. Если вы знаете URL-адрес репозитория, который нужно клонировать, можно вставить его в разделе Расположение репозитория, а затем выбрать место на диске, в которое будет клонирован репозиторий.

Диалоговое окно

Если вы не знаете URL-адрес репозитория, в Visual Studio можно легко перейти к существующему репозиторию GitHub или Azure DevOps и выбрать его.

Открытие существующего локального репозитория в Visual Studio 2019

После клонирования или создания репозитория GIT Visual Studio обнаружит его и добавит в список Локальные репозитории в меню GIT.

В нем можно быстро открывать репозитории GIT и переключаться между ними.

Вариант

Просмотр файлов в Обозревателе решений в Visual Studio 2019

При клонировании репозитория или открытии локального репозитория Visual Studio переключается в этот контекст GIT, сохраняя и закрывая все ранее открытые решения и проекты. Обозреватель решений загружает папку в корне репозитория Git и проверяет дерево каталогов на наличие просматриваемых файлов. К ним относятся такие файлы, как CMakeLists.txt или файлы с расширением SLN.

Visual Studio настраивает представление в зависимости от файла, загруженного в обозреватель решений:

  • При клонировании репозитория, содержащего один SLN-файл, обозреватель решений напрямую загружает это решение.
  • Если обозреватель решений не обнаруживает файлов SLN в репозитории, по умолчанию он загружает представление папки.
  • Если репозиторий содержит несколько файлов SLN, то обозреватель решений выводит список доступных представлений для выбора.

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

Обозреватель решений с нажатой кнопкой

Дополнительные сведения см. в разделе Просмотр файлов в обозревателе решений учебника Открытие проекта из репозитория.

Окно "Изменения Git" в Visual Studio 2019

GIT отслеживает изменения файлов в репозитории в процессе работы и разделяет файлы на три категории. Это те же изменения, которые отображаются при вводе команды git status в командной строке.

  • Файлы без изменений: эти файлы не были изменены с момента последней фиксации.
  • Измененные файлы: эти файлы изменились с момента последней фиксации, но еще не были подготовлены для следующей фиксации.
  • Промежуточные файлы: эти файлы содержат изменения, которые будут добавлены в следующую фиксацию.

В процессе работы Visual Studio отслеживает изменения в файлах проекта в разделе Изменения окна Изменения GIT.

Окно

Когда вы будете готовы подготовить изменения, нажмите кнопку + (плюс) для каждого из файлов, которые необходимо подготовить, или щелкните файл правой кнопкой мыши и выберите пункт Промежуточно сохранить. Можно также подготовить все измененные файлы одним щелчком мыши, используя кнопку "Промежуточно сохранить все" ( + ) в верхней части раздела Изменения.

При подготовке изменения Visual Studio создает раздел Подготовленные изменения. Только изменения из раздела Подготовленные изменения добавляются к следующей фиксации, которую можно выполнить, выбрав команду Зафиксировать промежуточные. Эквивалентная команда для этого действия — git commit -m "Your commit message". Можно также отменить подготовку изменений, нажав кнопку  (минус). Эквивалентная команда для этого действия — git reset <file_path> для отмены размещения одного файла или git reset <directory_path> для отмены размещения всех файлов в каталоге.

Кроме того, можно отказаться от подготовки измененных файлов, пропустив область подготовки. В этом случае Visual Studio позволяет зафиксировать изменения напрямую без предварительной подготовки. Просто введите сообщение о фиксации и выберите Зафиксировать все. Эквивалентная команда для этого действия — git commit -a.

Visual Studio также позволяет выполнить фиксацию и синхронизацию одним щелчком мыши с помощью ярлыков Зафиксировать все и отправить и Зафиксировать все и синхронизировать. Если дважды щелкнуть любой файл в разделе Изменения или Подготовленные изменения, то можно построчно сравнить измененную версию файла с неизмененной.

Построчное сравнение версий файла в Visual Studio.

Совет

Если вы подключены к репозиторию Azure DevOps, вы можете связать рабочий элемент Azure DevOps с фиксацией, используя символ #. Чтобы подключить репозиторий Azure DevOps, выберите Team Explorer>Управление подключениями.

Выбор существующей ветви в Visual Studio 2019

В Visual Studio текущая ветвь отображается в селекторе в верхней части окна Изменения GIT.

Текущие ветви, которые можно просмотреть с помощью селектора в верхней части окна

Текущая ветвь также доступна в строке состояния в правом нижнем углу интегрированной среды разработки Visual Studio.

Текущие ветви, которые можно просмотреть с помощью строки состояния в правом нижнем углу интегрированной среды разработки Visual Studio.

В обоих местах можно переключаться между имеющимися ветвями.

Создание новой ветви в Visual Studio 2019

Можно также создать новую ветвь. Эквивалентная команда для этого действия — git checkout -b <branchname>.

Чтобы создать ветвь, достаточно ввести ее имя и указать существующую ветвь, на основе которой будет создана данная.

Диалоговое окно

В качестве базовой можно выбрать существующую локальную или удаленную ветвь. Если флажок Извлечь ветвь установлен, вы автоматически переключитесь на новую ветвь после ее создания. Эквивалентная команда для этого действия — git checkout -b <new-branch><existing-branch>.

Окно репозитория Git в Visual Studio 2019

В Visual Studio имеется новое окно Репозиторий GIT, в котором представлены все сведения о репозитории, включая все ветви, удаленные репозитории и журналы фиксации. Открыть это окно можно из меню GIT или Вид либо непосредственно из строки состояния.

Управления ветвями в Visual Studio 2019

При выборе в меню GIT пункта Управление ветвями отображается древовидное представление ветвей в окне Репозиторий GIT. В левой области можно использовать контекстное меню для извлечения, создания, объединения ветвей, перемещения изменений из одной ветви в другую, отбора изменений и других действий. Щелкнув ветвь, можно просмотреть ее журнал фиксаций в правой области.

Входящие и исходящие фиксации в Visual Studio 2019

При принесении ветви в окне Изменения GIT под раскрывающемся списком ветвей отображается индикатор, который показывает количество фиксаций, которые не были вытянуты из удаленной ветви. Он также показывает число локальных фиксаций, которые не были отправлены.

Окно

Индикатор также является ссылкой, по которой можно перейти к журналу фиксаций этой ветви в окне Репозиторий GIT. В начале журнала теперь отображаются сведения об этих входящих и исходящих фиксациях. Здесь можно также вытянуть или отправить фиксации.

Окно

Сведения о фиксации в Visual Studio 2019

Если дважды щелкнуть фиксацию, в Visual Studio откроются сведения о ней в отдельном окне инструментов. Здесь можно отменить фиксацию, сбросить ее, исправить сообщение о фиксации или создать тег для нее. Если щелкнуть измененный файл в фиксации, в Visual Studio откроется инструмент сравнения, в котором рядом друг с другом показаны фиксация и ее предок.

Диалоговое окно

Обработка конфликтов слияния в Visual Studio 2019

Во время слияния могут возникать конфликты, если два разработчика изменяют одни и те же строки в файле и GIT неизвестно, какой вариант правильный. В этом случае GIT прерывает слияние и сообщает о конфликтном состоянии.

В Visual Studio можно легко выявлять и устранять конфликты слияния. Во-первых, в верхней части окна Репозиторий GIT имеется золотистая информационная панель.

Сообщение

В окне Изменения GIT также выводится сообщение Слияние выполняется с конфликтами, под которым в отдельном разделе указываются файлы, слияние которых не было выполнено.

Сообщение

Но если ни одно из этих окон не открыто и вы переходите к файлу с конфликтами слияния, вам не придется искать следующий текст:

    <<<<<<< HEAD
    =======
    >>>>>>> main

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

Снимок экрана с сообщением

Редактор слияния в Visual Studio 2019

Редактор слияния в Visual Studio позволяет выполнять трехстороннее сравнение: в нем приводятся входящие изменения, текущие изменения и результат слияния. С помощью панели инструментов вверху редактора слияния можно переходить между конфликтами и просматривать результаты автоматического слияния в файле.

Редактор слияния в Visual Studio.

Можно также использовать переключатели для отображения и скрытия различий, отображения и скрытия различий в словах и настройки макета. Вверху с каждой стороны есть флажки, с помощью которых можно перенести все изменения с одной стороны на другую. Чтобы перенести отдельные изменения, можно установить флажки слева от конфликтующих строк с любой стороны. Завершив разрешение конфликтов, нажмите в редакторе слияния кнопку Принять слияние. После этого нужно ввести сообщение о фиксации и зафиксировать изменения, чтобы завершить процесс разрешения.

Персонализация параметров Git в Visual Studio 2019

Чтобы настроить параметры GIT на уровне репозитория, а также на глобальном уровне, выберите в строке меню пункты GIT>Параметры или Сервис>Параметры>Управление исходным кодом. Затем выберите нужные параметры.

Диалоговое окно

Использование всех возможностей Team Explorer в Visual Studio 2019

Новый интерфейс GIT — это система контроля версий по умолчанию в Visual Studio 2019 начиная с версии 16.8. Однако при желании этот интерфейс можно отключить. Чтобы вернуться в Team Explorer для Git, выберите Средства>Параметры>Среда>Функции предварительной версии и снимите флажок Новый пользовательский интерфейс Git.

Раздел