Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Окно изменений Git предоставляет удобный способ взаимодействия с Git прямо во время написания кода без необходимости переключаться от него. Но есть случаи, когда лучше сосредоточиться на репозитории Git. Например, может потребоваться получить хорошее представление о том, над чем работает ваша команда или, возможно, сравнить две фиксации для исследования ошибки.
Вы можете удаленно работать с поставщиком Git, например GitHub или Azure DevOps.
Просмотр локальных и удаленных ветвей
Чтобы приступить к работе, откройте окно репозитория Git, выбрав репозиторий Git в меню "Вид " (или с помощью клавиш CTRL+0, сочетание клавиш CTRL+R ). Вы также можете получить доступ к окне репозитория Git , выбрав исходящие и входящие ссылки в окне изменений Git и в строке состояния.
Окно репозитория Git содержит левую панель. То, что вы выбираете там, определяет содержимое справа.
В Visual Studio левая панель включает Branches / Tags и Pull Requests.
Окно репозитория Git содержит три основных раздела, как указано на предыдущем снимке экрана:
Ветви / теги: Git позволяет пользователям выполнять многозадаки и экспериментировать с их кодом через ветви. Ветвление в Git полезно в нескольких сценариях, особенно при работе с сложными проектами с несколькими функциями или при совместной работе с командой. С помощью Visual Studio 17.13 и более поздних версий вы можете просматривать теги в репозитории и переходить к любому тегу. Ваша команда может использовать теги Git (например, v1.0), чтобы пометить точки в журнале репозитория и просмотреть состояние репозитория на этом этапе в истории. См. Git - Тэгирование.
Граф. Этот раздел визуализирует состояние ветви. Он состоит из трех подразделов:
- Входящие показывают поступающие коммиты, которые вносит ваша команда.
- Исходящие показывает ваши локальные коммиты, которые вы еще не отправили.
- В локальном журнале показаны остальные фиксации, отслеживаемые локальным репозиторием.
Коммит: Чтобы открыть этот раздел, выберите любой коммит в разделе Граф. Вы можете проверить изменения, внесенные коммитом, выбрав их, которые показывают различия. Например, на предыдущем снимке экрана показаны изменения, внесенные одним коммитом в файл Resize.cs.
Ветви / теги: Git позволяет пользователям выполнять многозадаки и экспериментировать с их кодом через ветви. Ветвление в Git полезно в нескольких сценариях, особенно при работе с сложными проектами с несколькими функциями или при совместной работе с командой. Теги можно просмотреть в репозитории и перейти к любому тегу. Ваша команда может использовать теги Git (например, v1.0), чтобы пометить точки в журнале репозитория и просмотреть состояние репозитория на этом этапе в истории. См. Git - Тэгирование.
С выбранными ветвями или тегами вы увидите разделы Graph и Commit в правой части.
Граф. Этот раздел визуализирует состояние ветви. Он состоит из трех подразделов:
- Входящие показывают поступающие коммиты, которые вносит ваша команда.
- Исходящие показывает ваши локальные коммиты, которые вы еще не отправили.
- В локальном журнале показаны остальные фиксации, отслеживаемые локальным репозиторием.
Коммит: Чтобы открыть этот раздел, выберите любой коммит в разделе Граф. Вы можете проверить изменения, внесенные коммитом, выбрав их, которые показывают различия. Например, на предыдущем снимке экрана показаны изменения, внесенные одним коммитом в файл Resize.cs.
Подробный просмотр коммитов
Сочетания клавиш ALT+ВВЕРХ или ALT+ВНИЗ позволяют переходить между разделами на левой панели.
Вы можете просматривать любую локальную или удаленную ветвь, не переключив ветвь. При поиске коммита, на котором вы хотите сосредоточиться, нажмите кнопку "Открыть в новой вкладке", чтобы открыть коммит на другой вкладке.
Запросы на слияние
Если вы просматриваете ветви и коммиты, переключитесь на Pull Requests в левой панели.
В разделе Pull Requests отображается список активных pull request.
Просмотр и открытие запросов на включение изменений
Выберите любой запрос на включение изменений, чтобы открыть встроенное представление просмотра, не переключаясь на ветку. Найдите запросы на включение изменений в окне Git Repository (View>Git Repository), Git Changes или Git>GitHub (или Azure DevOps) >View Pull Requests.
- Описание запроса на включение изменений, изменённые файлы, коммиты, связанные элементы и проверяющие — в одном представлении.
- Переключайтесь между активными запросами на включение изменений, не нарушая работу текущей ветки.
- Просмотрите сведения о коммите и внесённых изменениях для отдельных коммитов в запросе на включение изменений.
Комментирование и обсуждение
Оставляйте отзывы прямо в окне просмотра изменений и продолжайте обсуждение, не переходя в браузер.
- Добавляйте комментарии к определённым строкам, отвечайте на комментарии и закрывайте цепочки обсуждений.
- Просмотр индикаторов комментариев для каждого файла в списке изменений .
- Отображение встроенных изображений и форматированного текста в комментариях, как в веб-версии.
Утверждение, завершение и слияние
Когда всё будет готово, одобрите и завершите запрос на слияние в Visual Studio. Действия «Голосовать» и «Завершить» доступны в нескольких представлениях, поэтому вы можете утверждать изменения прямо во время их просмотра.
- Утвердить pull request. Дополнительные варианты голосования доступны в раскрывающемся списке для Azure DevOps.
- Просматривайте проверки состояния, конфликты слияния и обязательные одобрения на вкладке «Обзор».
- Завершите запрос на слияние или выполните слияние с возможностью преобразовать его в черновик, отклонить или закрыть.
Подробные рабочие процессы для комментария к запросам на вытягивание в файлах и представлениях диффов см. в разделе Создание запроса на вытягивание в Visual Studio.
Сведения о рабочих процессах Copilot Chat с запросами на включение изменений см. в статье Добавление запросов на включение изменений в Copilot Chat.
Представление истории с несколькими ветвями
Новые возможности версии 17.7: При открытии окна репозитория Git вы начинаете в режиме одной ветви. Затем можно выбрать любую ветвь, чтобы добавить её и её коммиты в представление разветвлённой истории, что добавляет визуальные элементы, упрощающие работу с несколькими ветвями.
На левой стороне представления "Локальный журнал " есть раскраска линий и метки веток, которые упрощают отслеживание коммитов, принадлежащих каждой ветке. Список ветвей в верхней части таблицы можно использовать для более простой прокрутки между ветвями и сразу же знать, какие ветви отображаются в графе.
В разделе "Ветви / Теги" наведите указатель мыши на ветвь, чтобы отобразить кнопку Переключить ветвь в истории (значок выглядит как глаз). С помощью кнопки с эффектом наведения можно выбрать ветви, которые будут отображаться в интерфейсе истории коммитов.
Кнопки панели инструментов в верхней части представления истории фиксаций можно использовать для настройки представления и фильтрации по веткам.
Показывать только первый родительский коммит: ограничьте отображение истории коммитов в виде одной линии, вместо боковых веток с их собственной последовательностью коммитов.
Отображение локальных ветвей: переключение режима отображения меток для локальных ветвей в представлении истории.
Отображение удаленных ветвей: переключает отображение меток для удаленных ветвей, которые вносят изменения в историю коммитов, которую вы просматриваете.
Показать теги: переключитесь, следует ли отображать метки для тегов.
Показать локальные ветки, Показать удаленные ветки и Показать теги — все указывают на метки коммитов, отображаемые слева в представлении истории.
Новые возможности с версией 17.14. Чтобы сосредоточиться на несинхронированных фиксациях, можно использовать кнопку "Показать исходящие и входящие " панели инструментов, чтобы изменить представление журнала, чтобы отобразить только исходящие фиксации (еще не отправленные из текущей ветви) и входящие фиксации (новые на удаленном устройстве).
В контекстном меню можно выбрать команду "Показать только исходящие/входящие", щелкнув правой кнопкой мыши в любом месте в представлении журнала.
Сравнение фиксаций
Чтобы сравнить любые два коммита в ветви, используйте клавишу Ctrl, чтобы выбрать два коммита для сравнения. Затем щелкните правой кнопкой мыши один из них и выберите Сравнить коммиты.
Подсказка
Как и в Commit Details, можно использовать кнопку «Открыть в новой вкладке», чтобы открыть сравнение на другой вкладке или развернуть его на экране.
Просмотреть объем изменений коммита со сводкой изменений
В Git>Просмотр истории ветви откройте любой коммит и выберите Открыть сводку изменений. Visual Studio отображает изменённые строки из нескольких файлов в едином представлении, что удобно для быстрого просмотра перед более детальным просмотром каждого файла.
Создание ветви из фиксации
В Visual Studio можно использовать панель Git Graph в окне репозитория Git для создания ветвей из предыдущих коммитов. Для этого щелкните правой кнопкой мыши на коммите, из которого вы хотите создать новую ветвь, а затем выберите «Создать ветвь».
Замечание
Эквивалентная команда для выполнения этого действия — git branch <branchname> [<commit-id>].
сравните ветви.
Сравнение ветвей предоставляет обзор различий между двумя ветвями, которые могут быть полезны перед созданием запроса на вытягивание, слияние или даже удаление ветви.
Чтобы сравнить текущую ветвь с другими ветвями с помощью Visual Studio, можно использовать средство выбора ветви, размещенное в строке состояния, и окно средства изменения Git, чтобы выбрать любую локальную или удаленную ветвь для сравнения. Щелкните правой кнопкой мыши целевую ветвь и выберите "Сравнить с текущей ветвью". Кроме того, можно использовать список ветвей в окне репозитория Git для доступа к той же команде.
При выборе "Сравнить с текущей ветвью" откроется интерфейс сравнения ветвей, где можно перейти к списку изменений и выбрать файл, который вы хотите сравнить.
Подсказка
Если вы предпочитаете встроенный дифф, можно использовать значок шестеренки параметров конфигурации Diff и переключиться на встроенное представление диффа.
Проверка коммитов
Проверка коммита может быть полезной несколькими способами. Например, он позволяет вернуться к предыдущей точке в истории репозитория, где можно запустить или проверить код. Это также может быть полезно, если вы хотите просмотреть код из удаленной ветви (например, ветвь коллеги). Таким образом, вам не нужно создавать локальную ветвь, если вы не планируете вносить в нее вклад. В этом случае можно просто переключиться на конец удаленной ветви, которую вы хотите просмотреть.
Чтобы извлечь предыдущую фиксацию в Visual Studio, откройте окно репозитория Git, щелкните правой кнопкой мыши фиксацию, к ней нужно вернуться и выбрать выход (отсоединение). В Visual Studio отображается диалоговое окно подтверждения, объясняющее, что при переходе на коммит вы окажетесь в отсоединенном состоянии HEAD. Это означает, что HEAD вашего репозитория будет указывать непосредственно на коммит, а не на ветвь.
Теперь, когда вы находитесь в отсоединяемом состоянии головы, можете выполнять и тестировать код или даже изучать и фиксировать изменения. Когда вы завершите исследование и захотите вернуться к своей ветке, вы можете отменить изменения, переключившись на существующую ветку, или сохранить изменения, сначала создав новую ветку.
Это важно
Фиксации, созданные в отсоединённом состоянии указателя головы, не связаны с какой-либо ветвью и могут быть подвергнуты сборке мусора Git после переключения на ветку. Поэтому, чтобы сохранить ваши изменения, рекомендуется создать новую ветку перед переключением на другую ветку. Например, коммиты C5 и C6 будут удалены как мусор, если мы переходим на Main без создания новой ветви.
Дополнительные сведения о режиме отделённой головы см. в документации по отделённой голове Git.
Если вы хотите быстро просмотреть запрос на вытягивание и оценить последние обновления, ознакомьтесь с подсказкой удаленной ветви. Чтобы сделать это в Visual Studio, сначала убедитесь, что вы извлекли и получили последние обновления из удаленного репозитория. Затем щелкните правой кнопкой мыши удаленную ветвь, чтобы просмотреть и выбрать кнопку "Зафиксировать подсказку".
Просмотр журнала изменений по строкам с помощью Git Blame
Git Blame показывает, кто в последний раз изменил каждую строку кода в файле, а также время и причину изменения. Эта функция полезна, если необходимо понять историю и контекст, связанные с конкретными изменениями кода, отслеживать происхождение ошибки или определять автора конкретной реализации.
Доступ к аннотациям Git Blame
Заметки Git Blame можно просматривать непосредственно из редактора кода или из Обозреватель решений.
Из редактора кода:
- Откройте файл в редакторе.
- Щелкните правой кнопкой мыши в любом месте редактора кода.
- Выберите Git>Blame (Annotate).
Из Обозреватель решений:
- Щелкните правой кнопкой мыши файл в Обозреватель решений.
- Выберите Git>Blame (Annotate).
Аннотации blame отображаются на левом поле редактора, в них указаны имя автора, дата коммита и ссылка на коммит. Файл открывается в редакторе с видимыми заметками о вине.
Просмотр сведений о коммите из аннотаций blame
После того как заметки о вине отображаются в редакторе, вы можете взаимодействовать с ними, чтобы получить дополнительные сведения:
- Щелкните коммит, чтобы просмотреть сведения: вы можете просмотреть коммит целиком, увидеть все файлы, измененные в этом коммите, и получить доступ к дополнительным возможностям, например к сравнению текущей версии с предыдущей.
Подсказка
Git Blame особенно полезен для понимания неожиданного поведения или выяснения того, почему было внесено то или иное изменение.
Если Git Blame недоступен
Git Blame доступен только для отслеживаемых файлов, которые уже были добавлены в ваш репозиторий Git. Если пункт Git>Blame не отображается, см. таблицу ниже с распространёнными причинами и способами решения.
| Scenario | Solution |
|---|---|
| Файл не отслеживается | Проверьте окно «Git Changes». Если файл отображается в разделе "Незатеченные файлы", сначала выполните этап и зафиксируйте его. |
| Файл находится в .gitignore | Удалите файл из .gitignore, добавьте его в репозиторий и выполните коммит. |
| Двоичный файл | Blame работает только с текстовыми файлами, такими как исходный код (.cs, .js, .py), файлы конфигурации (.json, .xml) и документация (.md, .txt). Для двоичных файлов (.dll, .exe, изображений) вместо этого используйте Git>Просмотреть журнал. |
| Журнал фиксаций отсутствует | Сделайте хотя бы один коммит, в который входит этот файл. |
| Отсоединяемое состояние HEAD | Проверьте строку состояния. При отключении проверьте ветвь из окна репозитория Git . См. коммиты при переключении. |
| Очень большой файл | В целях повышения производительности Blame может быть отключён для очень больших файлов. Вместо этого используйте Git>История. |
Альтернатива для всех сценариев: Щелкните правой кнопкой мыши по файлу и выберите Git>Просмотреть историю, чтобы увидеть все коммиты, изменившие файл.