Visual studio сравнить две ветки

Обновлено: 07.07.2024

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

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

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

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

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

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

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

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

    . Если ваш код не связан с GIT, можно создать новый репозиторий GIT. . Если код, с которым вы хотите работать, не находится на вашем компьютере, можно клонировать любые существующие удаленные репозитории. . Если у вас уже есть код на компьютере, его можно открыть с помощью пункта меню Файл > Открыть > Решение/проект (или Папка). Visual Studio автоматически определяет, имеется ли инициализированный репозиторий GIT.

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

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

Создание репозитория GIT

Если ваш код не связан с GIT, можно начать с создания нового репозитория GIT. Подробные сведения см. в разделе Создание репозитория в Visual Studio.

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

Диалоговое окно "Создание репозитория Git" в Visual Studio.

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

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

Клонирование существующего репозитория GIT

В Visual Studio процесс клонирования прост. Пошаговые инструкции см. в разделе Клонирование репозитория в Visual Studio.

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

Диалоговое окно "Клонирование репозитория Git" в Visual Studio.

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

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

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

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

Вариант "Локальные репозитории" в меню Git в Visual Studio.

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

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

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

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

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

Обозреватель решений с нажатой кнопкой "Переключить представления" в Visual Studio.

Окно "Изменения GIT"

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

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

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

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

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

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

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

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

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

Текущие ветви, которые можно просмотреть с помощью селектора в верхней части окна &quot;Изменения Git&quot; в Visual Studio.

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

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

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

Создание ветви

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

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

Диалоговое окно &quot;Создание новой ветви&quot; в Visual Studio.

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

Окно "Репозиторий GIT"

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

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

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

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

Окно &quot;Изменения Git&quot; с индикатором под раскрывающимся списком в Visual Studio.

Окно &quot;Репозиторий Git&quot; с журналом фиксаций для ветви в Visual Studio.

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

Диалоговое окно &quot;Сведения о фиксации&quot; в Visual Studio.

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

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

Дополнительные сведения о конфликтах слияния и способах их обработки см. на странице Устранение конфликтов слияния.

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

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

Редактор слияния

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

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

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

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

Диалоговое окно &quot;Параметры&quot; Visual Studio IDE, в котором можно выбрать параметры персонализации и настройки.

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

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

Раздел &quot;Функции предварительной версии&quot; диалогового окна &quot;Параметры&quot; в Visual Studio.

Что дальше?

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

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

Если у вас есть предложение, отправьте его нам. Мы будем рады вашему участию в работе над решением на портале Сообщества разработчиков.

Как сравнить разные отрасли на Visual Studio код 1.9? Является ли это возможным?

ОТВЕТЫ

Ответ 1

Теперь это доступно:

до сих пор он не поддерживается, но может следовать за ним: github

Ответ 2

Я бы рекомендовал использовать: Git Lens.

Ответ 3

Используйте плагин Git History Diff для простого параллельного разветвления веток:

Перейдите по ссылке выше и прокрутите вниз до анимированного GIF файла под названием Diff Branch. Вы увидите, что вы можете легко выбрать любую ветку и провести параллельное сравнение с веткой, в которой вы находитесь! Это похоже на предварительный просмотр того, что вы увидите в Github Pull Request. Для других вещей Git я предпочитаю встроенную функциональность VSCode или Git Lens, как уже упоминали другие. Тем не менее, вышеупомянутый плагин отлично подходит для выполнения разветвления ветвления (т.е. для тех, кто делает Git-поток с ребазой и должен предварительно просмотреть, прежде чем принудительное увеличение до Github PR).

Ответ 4

Ответ 2019

Значок GitLens появится в навигационной панели, нажмите на него

Git lens icon

Нажмите на сравнение

enter image description here

Выберите ветки для сравнения

enter image description here

Теперь вы можете увидеть разницу. Вы можете выбрать любой файл, для которого вы хотите увидеть разницу

enter image description here

Ответ 5

Теперь это возможно, используя расширение githistory.

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

Здесь, как это сделать, используя расширение githistory:

  1. Открыть githistory
  2. Выберите последнюю фиксацию из текущей ветки, нажав "Значок Git Commit" → (Обычно это должен быть последний фиксатор списка). В раскрывающемся раскрывающемся меню нажмите "Выбрать эту фиксацию".
  3. Выберите последнюю фиксацию из ветки, которую вы хотите сравнить, нажав "Git Commit Icon".
  4. В результате выпадающее меню должно появиться с несколькими вариантами → Выберите последний вариант, который говорит "Сравните с SHA", и вы увидите разницу.

Надеюсь, это поможет.

Ответ 6

Я не использую Microsoft Visual Code, я использую Microsoft Visual Studio (версия сообщества также бесплатна для некоммерческих целей). Однако даже в этой среде IDE я не понял, как определить все различия между двумя разными ветвями. Но вы можете посмотреть различия для конкретного объекта в двух разных коммитах.

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

Как сравнить разные отрасли на Visual Studio код 1.9? Является ли это возможным?

спросил(а) 2017-02-08T14:59:00+03:00 4 года, 9 месяцев назад

Теперь он доступен:

до сих пор он не поддерживается, но может следовать за ним: github

ответил(а) 2017-02-10T22:59:00+03:00 4 года, 9 месяцев назад

Я бы рекомендовал использовать: Git Lens.

Используйте плагин Git History Diff для простой разветвленной ветки:

Перейдите по ссылке выше и прокрутите вниз до анимированного gif под названием Diff Branch. Вы увидите, что вы можете легко выбрать любую ветку и сравнить бок о бок с веткой, в которой вы находитесь! Это похоже на предварительный просмотр того, что вы увидите в запросе Github Pull. Для других вещей Git я предпочитаю встроенную функциональность VSCode или Git Lens, о чем говорили другие. Тем не менее, вышеприведенный плагин является выдающимся для того, чтобы сделать разветвление веток (т.е. Для тех, кто делает пересылку Git и нуждается в предварительном просмотре до того, как сила дойдет до Github PR).

Теперь это возможно, используя расширение githistory.

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

Здесь, как это сделать, используя расширение githistory:

Открыть githistory Выберите последнюю фиксацию из текущей ветки, нажав "Значок Git Commit" → (Обычно это должен быть последний фиксатор списка). В раскрывающемся раскрывающемся меню нажмите "Выбрать эту фиксацию". Выберите последнюю фиксацию из ветки, которую вы хотите сравнить, нажав "Git Commit Icon". В результате выпадающее меню должно появиться с несколькими вариантами → Выберите последний вариант, который говорит "Сравните с SHA", и вы увидите разницу.

Надеюсь, это поможет.

Я не использую Microsoft Visual Code, я использую Microsoft Visual Studio (версия сообщества также бесплатна для некоммерческих целей). Однако даже в этой среде IDE я не понял, как определить все различия между двумя разными ветвями. Но вы можете посмотреть различия для конкретного объекта в двух разных коммитах.

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


Интеграция Git с Visual Studio Code

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

В этом мануале мы расскажем, как использовать интеграцию системы управления версиями Git в VS Code.

Требования

  • Установка Git (инструкции вы найдете в мануале Разработка проектов с открытым исходным кодом: начало работы с Git).
  • Последняя версия Visual Studio Code.

1: Вкладка Source Control

Откройте Visual Studio Code и запустите встроенный терминал. Вы можете открыть его с помощью сочетания клавиш CTRL+` (в Linux, macOS или Windows).

В терминале создайте каталог для нового проекта и перейдите в него:

Затем создайте репозиторий Git:

Есть и другой способ сделать это в Visual Studio Code: в левой панели нужно открыть вкладку Source Control (значок выглядит как развилка). Затем выберите Open Folder – и в текущем каталоге откроется файловый менеджер. Выберите нужный каталог проекта и нажмите Open.

Затем выберите Initialize Repository.

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

Вы увидите созданный каталог .git:

После инициализации репозитория создайте файл index.html.

После этого в панели Source Control вы увидите новый файл с буквой U рядом с ним. Символ U означает, что файл неотслеживаемый (untracked) – этот новый или отредактированный файл еще не добавлен в репозиторий.

Теперь вы можете нажать кнопку с плюсом (+) рядом с файлом index.html, чтобы отслеживать файл по репозиторию.

После добавления файла в репозиторий буква U рядом с файлом изменится на A. Символ A (added) представляет новый файл, который был добавлен в репозиторий.

После этого вы увидите, что у вас нет изменений, ожидающих проверки и сохранения.

Затем добавьте немного кода в файл index.html.

Для создания скелета HTML5 в VS Code можно использовать плагин Emmet, нажав клавиши !+Tab. Добавьте что-нибудь в <body>, например, заголовок <h1>, и сохраните его.

В панели Source Control вы увидите, что ваш файл изменился. Рядом с ним будет отображаться буква M (modified), которая указывает на отредактированный файл

Это изменение можно также сохранить через коммит.

Теперь, когда вы знакомы с панелью Source Control, мы можем переходить к индикаторам gutter.

2: Интерпретация индикаторов gutter

На этом этапе мы рассмотрим индикаторы gutter, или индикаторы желоба. Желоб – это узкая область, которая находится между индикатором строк и кодом.

Если ранее вы использовали сворачивание кода, то знаете, что значки разворачивания и сворачивания кода расположены именно в области желоба.

Начнем с внесения небольших изменений в файл index.html – можно, например, изменить контент в теге <h1>. После этого вы увидите синюю вертикальную метку в желобе напротив измененной строки. Вертикальная синяя метка означает, что соответствующая строка кода была отредактирована.

Теперь попробуйте удалить одну из строк в разделе <body> вашего файла index.html. Обратите внимание на красный треугольник в желобе. Красный треугольник указывает на строку или группу строк, которые были удалены.

Теперь перейдите к нижней части раздела <body> и добавьте туда новую строку кода. Обратите внимание на вертикальную зеленую полосу – она указывает на добавленную строку кода.

3: Определение отличий между версиями файла

VS Code также может сравнивать версии кода. Как правило, для этого нужно загружать специальный инструмент, но в VS Code есть встроенная функция, и она поможет вам работать более эффективно.

Чтобы просмотреть отличия между версиями файла, откройте панель управления исходным кодом Source Control и дважды кликните на измененный файл. В нашем случае нужно дважды кликнуть на файл index.html. На экране появится сравнение текущей версии файла (слева) и его предыдущей версии (справа).

4: Работа с ветками

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

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

Для примера создайте новую ветку под названием test.

Теперь внесите изменения в свой файл index.html, чтобы обозначить, что вы находитесь в новой ветке: например добавьте текст «this is the new test branch».

Сохраните эти изменения в ветке test с помощью коммита. Затем снова кликните на имя ветки в левом нижнем углу, чтобы вернуться к ветке master.

После переключения на ветку master вы заметите, что текст «this is the new test branch», сохраненный в ветке test, не присутствует в вашем файле.

5: Работа с удаленными репозиториями

В этом руководстве мы не будем подробно останавливаться на удаленных репозиториях.

С помощью панели управления Source Control у вас есть доступ к удаленным репозиториям. Если вы работали с такими репозиториями ранее, вы найдете здесь знакомые команды, такие как pull, sync, publish, stash и т.п.

6: Установка расширений

VS Code не только предоставляет множество встроенных функций для Git, но также позволяет установить несколько очень популярных расширений для расширения набора функций.

Git Blame

Расширение Git Blame предоставляет возможность просматривать информацию состояния для текущей выбранной строки.

Название этого расширения может прозвучать пугающе, но Git Blame не предполагает, что вы будете буквально винить или стыдить кого-то в изменении кода: практичность расширения заключается в том, что оно позволяет выяснить, кому можно задать вопросы по определенным фрагментам кода.

Git History

Просматривать текущие изменения, отслеживать разницу между версиями и управлять ветками можно и с помощью встроенных функций VS Code, однако они не предоставляют подробной истории Git. Расширение Git History решает эту проблему.

Это расширение позволяет тщательно изучить историю файла, автора, ветки. Чтобы активировать окно Git History, нужно кликнуть на файл правой кнопкой мыши и выбрать Git: View File History.

Кроме того, вы можете сравнивать ветки и коммиты, создавать ветки из коммитов и многое другое.

Git Lens

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

Расширение Git Lens – одно из самых популярных и мощных. В большинстве случаев его функциональность может заменить каждое из двух предыдущих расширений.

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

Это расширение обладает множеством функций, и вам, вероятно, потребуется время, чтобы разобраться со всеми ними.

Заключение

В этом мануале вы узнали, как использовать интеграцию системы управления версиями Git с VS Code.

VS Code «из коробки» предлагает многие функции, для которых ранее требовалась загрузка отдельного инструмента.

Читайте также: