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


Сделать коммит в Git с помощью Visual Studio

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

Git отслеживает изменения файлов в репозитории по мере работы и разделяет файлы в репозитории на три категории. Эти изменения эквивалентны тому, что вы увидите при вводе команды git status в командной строке:

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

По мере вашей работы, Visual Studio отслеживает изменения файлов в проекте в разделе Изменения окна Изменения Git.

Окно изменений Git в Visual Studio 2022.

Этап изменения и фиксация

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

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

Диалоговое окно фиксации Git в Visual Studio 2022.

Изменения также можно отменить, нажав кнопку (минус). Эквивалентная команда для этого действия — это git reset <file_path>, чтобы убрать из индекса один файл, или git reset <directory_path>, чтобы убрать из индекса все файлы в каталоге.

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

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

Сравнение версий файлов в Visual Studio 2022 по строкам.

Новое в версии 17.6: Вы также можете ссылаться на задачу или pull request, введя # или выбрав # кнопку в правой нижней части текстового поля сообщения фиксации. Для получения дополнительной информации см. пост блога о ссылках на проблемы и запросы на добавление.

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

Просмотр локальных изменений с помощью Чата Copilot

Новые возможности версии 17.13: с установленным GitHub Copilot вы можете воспользоваться GitHub Copilot для проверки изменений вашего кода перед фиксацией. Чтобы использовать эту функцию, убедитесь, что в разделе Инструменты>Параметры>Предварительные функции>Комментарии к запросам на вытягивание включен, и включите также Инструменты>Параметры>GitHub>Copilot>Интеграция системы управления версиями>Включить предварительные функции Git.

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

Через несколько мгновений в окне Изменения Git появится ссылка с количеством комментариев проверки кода, на которую можно щелкнуть, чтобы просмотреть комментарии и перейти к ним. Если проблемы не обнаружены, отобразится сообщение Copilot не сделал комментариев к файлам.

снимок экрана: окно изменений Git с кнопкой

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

скриншот с комментарием рецензии кода на GitHub.

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

Отмена, сброс или изменение коммита

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

Диалоговое окно «Сведения о коммите» в Visual Studio 2022.

Генерация сообщений для коммитов с помощью GitHub Copilot Chat

С помощью Visual Studio версии 17.9 и более поздних версий и расширений GitHub Copilot можно использовать ИИ для создания подробных сообщений фиксации, описывающих изменения.

Примечание.

Чтобы включить сообщения фиксации, создаваемые ИИ, вам потребуются GitHub Copilot и GitHub Copilot Chat. Сведения о начале работы см. в статье Get GitHub Copilot для Visual Studio 2022.

Снимок экрана с сообщением о фиксации, созданным искусственным интеллектом.

Когда вы будете готовы сделать коммит, используйте значок блестящей ручки (подсказка: Добавить сгенерированное ИИ сообщение коммита) в правом нижнем углу текстового поля сообщения коммита для запроса сгенерированного ИИ сообщения. Созданный искусственным интеллектом текст создается и добавляется к уже созданному вами тексту. Внимательно прочитайте его, чтобы узнать, является ли это точным. Вы можете принять вставку или отклонить ее. Если вы согласитесь с вставкой, перед отправкой вы сможете изменить текст. Когда вы будете готовы, выберите кнопку "Закоммитировать подготовленное" или один из других вариантов фиксации, доступных в выпадающем списке под полем редактирования сообщения фиксации.

С помощью Visual Studio 2022 версии 17.12 и более поздних версий можно глобально настроить формат сообщения фиксации, добавив дополнительные рекомендации в запрос для GitHub Copilot. Чтобы добавить настраиваемые инструкции по запросу, откройте>Инструменты>GitHub Copilot, а в разделе Пользовательские инструкции для сообщений о коммите введите дополнения к тексту запроса. Изменения влияют на каждое сообщение коммита. При наличии оперативного руководства команды могут стандартизировать форматы сообщений о фиксации изменений.

Снимок экрана страницы параметров GitHub Copilot с пользовательским запросом для сообщений коммитов.

GitHub Copilot понимает такие термины, как "subject" (первая строка сообщения фиксации), "body" (раздел, описывающий изменения более подробно) и "нижний колонтитул" (последний раздел). Некоторые примеры включают "Использовать все строчные буквы", "Ограничить тему до 50 символов", "Ограничить текст до 2 предложений", "Добавить нижний колонтитул с тремя хэш-знаками" или "Следовать стандарту Conventional Commits", который относится к широко используемому стандарту Conventional Commits.

Примечание.

Узнайте, как GitHub Copilot защищает конфиденциальность ваших данных в заявлении о конфиденциальности бизнеса GitHub Copilot.