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


Просмотр репозиториев Git и сравнение ветвей в Visual Studio

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

Вы можете удаленно работать с поставщиком Git, например GitHub или Azure DevOps.

Просмотр локальных и удаленных ветвей

Чтобы приступить к работе, откройте окно репозитория Git, выбрав репозиторий Git в меню "Вид " (или с помощью клавиш CTRL+0, сочетание клавиш CTRL+R ). Вы также можете получить доступ к окне репозитория Git , выбрав исходящие и входящие ссылки в окне изменений Git и в строке состояния.

Снимок экрана: анатомия окна репозитория Git.

Окно репозитория Git содержит три основных раздела, как указано на предыдущем снимке экрана:

  1. Ветви / теги: Git позволяет пользователям выполнять многозадаки и экспериментировать с их кодом через ветви. Ветвление в Git полезно в нескольких сценариях, особенно при работе с сложными проектами с несколькими функциями или при совместной работе с командой. С помощью Visual Studio 17.13 и более поздних версий вы можете просматривать теги в репозитории и переходить к любому тегу. Ваша команда может использовать теги Git (например, v1.0), чтобы пометить точки в журнале репозитория и просмотреть состояние репозитория на этом этапе в истории. См. Git - Тэгирование.

    Снимок экрана: теги git в окне репозитория Git.

  2. Граф. Этот раздел визуализирует состояние ветви. Он состоит из трех подразделов:

    • Входящие показывают поступающие коммиты, которые вносит ваша команда.
    • Исходящие показывает ваши локальные коммиты, которые вы еще не отправили.
    • В локальном журнале показаны остальные фиксации, отслеживаемые локальным репозиторием.
  3. Коммит: Чтобы открыть этот раздел, выберите любой коммит в разделе Граф. Вы можете проверить изменения, внесенные коммитом, выбрав их, которые показывают различия. Например, на предыдущем снимке экрана показаны изменения, внесенные одним коммитом в файл Resize.cs.

Клавиши ALT+СТРЕЛКА ВВЕРХ или ALT+СТРЕЛКА ВНИЗ позволяют переходить между этими разделами.

Вы можете просматривать любую локальную или удаленную ветвь, не переключив ветвь. При поиске коммита, на котором вы хотите сосредоточиться, нажмите кнопку "Открыть в новой вкладке", чтобы открыть коммит на другой вкладке.

Снимок экрана: открытие коммита на новой вкладке.

Снимок экрана: вкладка с деталями коммита.

Подсказка

Чтобы отобразить фиксацию в полноэкранном режиме, отключите вкладку "Фиксация " и разверните окно "Фиксация " с помощью кнопки "Развернуть ". Вы также можете выбрать любимую конфигурацию диффа, выбрав Diff Configuration (значок шестеренки).

Снимок экрана с полными сведениями о коммите и конфигурациях диффа.

Представление графа с несколькими разветвлениями

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

Снимок экрана: представление ветви с несколькими графами в Visual Studio.

На левой стороне представления "Локальный журнал " есть раскраска линий и метки веток, которые упрощают отслеживание коммитов, принадлежащих каждой ветке. Список ветвей в верхней части таблицы можно использовать для более простой прокрутки между ветвями и сразу же знать, какие ветви отображаются в графе.

Сравнение фиксаций

Чтобы сравнить любые два коммита в ветви, используйте клавишу Ctrl, чтобы выбрать два коммита для сравнения. Затем щелкните правой кнопкой мыши один из них и выберите Сравнить коммиты.

Снимок экрана того, как сравнить два коммита.

Снимок экрана с сравниваемыми коммитами.

Подсказка

Как и в Commit Details, можно использовать кнопку «Открыть в новой вкладке», чтобы открыть сравнение на другой вкладке или развернуть его на экране.

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

В Visual Studio можно использовать панель Git Graph в окне репозитория Git для создания ветвей из предыдущих коммитов. Для этого щелкните правой кнопкой мыши на коммите, из которого вы хотите создать новую ветвь, а затем выберите «Создать ветвь».

Снимок экрана: панель графа Git в окне репозитория Git.

Замечание

Эквивалентная команда для выполнения этого действия — git branch <branchname> [<commit-id>].

сравните ветви.

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

Схема, демонстрирующая сравнение ветвей Git.

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

Анимация, показывающая точки входа для сравнения ветвей.

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

Скриншот, показывающий, как сравнивать ветви с помощью представления диффа.

Подсказка

Если вы предпочитаете встроенный дифф, можно использовать значок шестеренки параметров конфигурации Diff и переключиться на встроенное представление диффа. Снимок экрана: параметры конфигурации Diff, доступные для вас.

Проверка коммитов

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

Схема, иллюстрирующая процесс проверки и фиксации коммитов в Git.

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

Анимация, показывающая точки входа фиксации вырезки.

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

Это важно

Фиксации, созданные в отсоединённом состоянии указателя головы, не связаны с какой-либо ветвью и могут быть подвергнуты сборке мусора Git после переключения на ветку. Поэтому, чтобы сохранить ваши изменения, рекомендуется создать новую ветку перед переключением на другую ветку. Например, коммиты C5 и C6 будут удалены как мусор, если мы переходим на Main без создания новой ветви. Схема, демонстрирующая коммиты в состоянии отсоединённой головы в Git.

Дополнительные сведения о режиме отделённой головы см. в документации по отделённой голове Git.

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

Снимок экрана, показывающий параметр