Поделиться через


Сведения о Git в Visual Studio

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

Исходный код, с которым вы работаете, не должен быть создан с помощью Visual Studio. Вы можете работать с любой исходной папкой в любом репозитории Git, независимо от того, есть ли файл проекта Visual Studio.

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

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

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

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

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

Снимок экрана: диалоговое окно

Если вы хотите использовать команды Git в командной строке, необходимо также установить Git для Windows (а не продукт Майкрософт).

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

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

Ветви и удаленные репозитории

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

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

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

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

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

Управление репозиторием и совместная работа

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

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

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

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

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

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

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

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

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

  1. Перейдите к >параметрам Git в строке меню или >>параметрах управления>версиями Git Global Settings

  2. Затем выберите нужные параметры.

    Снимок экрана: диалоговое окно

Улучшения производительности

В Visual Studio 2022 версии 17.12 можно выбрать любой раздел кода, а затем развернуть правой кнопкой мыши подменю Git и выбрать Копировать GitHub Permalink (или Копировать AzureDevOps Permalink), чтобы создать GitHub Permalink или Azure DevOps Permalink и скопировать его в буфер обмена. После этого вы можете вставить его в любом месте, где может использоваться ссылка, в браузере или поделиться им по электронной почте, сеансам чата и документам. Вы также можете сделать то же самое в представлении сведений о внедренной фиксации в окне репозитория Git. Эта функция позволяет ссылаться на определенный код из предыдущих фиксаций без переключения ветвей. Необходимо войти в Visual Studio с учетной записью с помощью поставщика услуг размещения Git, GitHub или Azure DevOps.

В Visual Studio 2022 версии 17.6 можно найти и связаться с GitHub Issues и рабочими элементами Azure DevOps. См. запись блога о функциях Git для повышения производительности .

Теперь 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, но если вы хотите сначала ознакомиться с кратким обзором, ознакомьтесь со следующим видео:

Длина видео: 5,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.

Раздел

Следующие шаги

Совет

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