Использование git получения, извлечения, отправки и синхронизации для управления версиями в Visual Studio
Область применения:Visual Studio Visual Studio для Mac
Visual Studio Code ![]()
Visual Studio помогает синхронизировать локальную ветвь с удаленной ветвью с помощью операций скачивания (получения и извлечения) и передачи (отправки).
Вы можете получить, извлечь и синхронизировать данные в Visual Studio 2022 с помощью меню Git .

На предыдущем снимке экрана выделен параметр получения . Меню Git также включает следующие дополнительные параметры:
Для выполнения этих операций можно также использовать элементы управления кнопкой в окне изменений Git.

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

Получить
Важно получить и вытянуть перед отправкой. Получение проверяет, есть ли удаленные фиксации, которые следует включить в локальные изменения. Если они есть, извлеките их, чтобы предотвратить конфликты слияния с вышестоящей ветвью.
При принесении ветви в окне Изменения GIT под раскрывающемся списком ветвей отображается индикатор, который показывает количество фиксаций, которые не были вытянуты из удаленной ветви. Он также показывает число локальных фиксаций, которые не были отправлены.
Индикатор также является ссылкой, по которой можно перейти к журналу фиксаций этой ветви в окне Репозиторий GIT. В начале журнала теперь отображаются сведения об этих входящих и исходящих фиксациях. Здесь можно также вытянуть или отправить фиксации.
Извлечь
Всегда вытягивать перед отправкой. При первом извлечении можно предотвратить вышестоящий конфликт слияния.
Явно (толкать)
При создании фиксаций вы изначально сохранили локальные моментальные снимки кода. Используйте push-отправку фиксаций в GitHub, где их можно сохранить в качестве резервных копий или предоставить другим пользователям общий доступ к коду.
Но, как ранее упоминание, всегда вытягивать перед тем, как вы толкаете. В качестве безопасной защиты Visual Studio не позволяет отправлять фиксации, если локальная ветвь находится за удаленной ветвью. При попытке отправки открывается диалоговое окно с запросом на извлечение.
Sync
Используйте эту операцию для извлечения, а затем последовательной отправки.
Следующие шаги
Чтобы продолжить путешествие, перейдите на страницу репозиториев Git Обзор.
См. также
- Руководство. Открытие проекта из репозитория
- Visual Studio & GitHub: лучше вместе
Создание репозитория Git из Visual Studio
Область применения:
Visual Studio Visual Studio для Mac
Visual Studio Code ![]()
Visual Studio упрощает создание репозитория прямо из интегрированной среды разработки. Создание репозитория из Visual Studio оптимизировано для GitHub, но вы можете удаленно работать с поставщиком Git. Это делается следующим образом.
Необходимые компоненты
Для выполнения этой статьи вам потребуется:
- Установленная среда Visual Studio
- Учетная запись пользователя GitHub
Создание репозитория GitHub
- Откройте Visual Studio и нажмите кнопку «Создать проект«.
Совет Если у вас еще нет проекта в Visual Studio для добавления в репозиторий, вы можете быстро создать консольное приложение C# и назовите его MyNewApp. Visual Studio заполняет новое приложение кодом по умолчанию Hello, World!.

В разделе «Инициализация локального репозитория Git» можно использовать параметр шаблона .gitignore, чтобы указать все намеренно неуправляемые файлы, которые нужно игнорировать Git. Дополнительные сведения о .gitignore см. в разделе «Игнорируние файлов». Дополнительные сведения о лицензировании см. в статье «Лицензирование репозитория».
Совет Эти параметры можно обновлять и изменять всякий раз, когда вы хотите. Подробные инструкции см. в разделе Git settings in Visual Studio.
Открытие существующего локального репозитория
После создания репозитория или клонированного репозитория Visual Studio обнаруживает репозиторий Git и добавляет его в список локальных репозиториев в меню Git. С этого момента вы можете быстро получить доступ к репозиториям Git и переключаться между ними.
Создание репозитория Azure DevOps
- Откройте Visual Studio и нажмите кнопку «Создать проект«.
Совет Если у вас еще нет проекта в Visual Studio для добавления в репозиторий, вы можете быстро создать консольное приложение C# и назовите его MyNewApp. Visual Studio заполняет новое приложение кодом по умолчанию Hello, World!.
Следующие шаги
Чтобы продолжить путешествие, перейдите на страницу «Создание ветви «.
См. также
- Руководство. Открытие проекта из репозитория
- Работа с учетными записями GitHub в Visual Studio
A1.2 Приложение A: Git в других окружениях — Git в Visual Studio
Начиная с Visual Studio 2013 Update 1, пользователям Visual Studio доступен Git-клиент, встроенный непосредственно в IDE. Visual Studio уже в течение достаточно долгого времени имеет встроенные функции управления исходным кодом, но они были ориентированы на централизованные системы с блокировкой файлов, и Git не очень хорошо вписывался в такой рабочей процесс. Поддержка Git в Visual Studio 2013 была существенно переработана по сравнению со старой версией, и в результате удалось добиться лучшей интеграции Visual Studio и Git.
Чтобы воспользоваться этой функциональностью, откройте проект, который управляется Git (или выполните git init для существующего проекта) и выберите пункты View (Вид) > Team Explorer (Командный обозреватель) в главном меню. В результате откроется окно «Connect» («Подключить»), которое выглядит примерно вот так:

Рисунок 157. Подключение к Git-репозиторию из окна Team Explorer (Командный обозреватель)
Visual Studio запоминает все проекты, управляемые с помощью Git, которые Вы открыли, и они доступны в списке в нижней части окна. Если в списке нет проекта, который вам нужен, нажмите кнопку «Add» («Добавить») и укажите путь к рабочему каталогу. Двойной клик по одному из локальных Git-репозиториев откроет главную страницу репозитория, которая выглядит примерно так «Домашняя» страница Git-репозитория в Visual Studio.
Это центр управления Git; когда вы пишете код, вы, вероятно, проводите большую часть своего времени на странице «Changes» («Изменения»), но когда приходит время получать изменения, сделанные вашими коллегами по работе, вам необходимо использовать страницы «Unsynced Commits» («Несинхронизированные коммиты») и «Branches» («Ветки»).
Управление репозиториями Git в Visual Studio
Область применения:
Visual Studio Visual Studio для Mac
Visual Studio Code ![]()
Окно репозитория Git предоставляет полноэкранный интерфейс Git, который помогает управлять репозиторием Git и оставаться в курсе проектов вашей команды. Например, может потребоваться сбросить, отменить изменения или фиксации вишни или просто очистить журнал фиксаций. Окно репозитория Git также отлично подходит для визуализации и управления ветвями.
С помощью Git можно легко управлять версиями в Visual Studio. Кроме того, вы можете удаленно работать с поставщиком Git, например GitHub или Azure DevOps. или локально без каких-либо поставщиков.
Изменение последней фиксации (изменение)
Обновление последней фиксации называется изменением в Git, и это распространенный вариант использования. Иногда вам просто нужно обновить сообщение о фиксации, или может потребоваться включить изменения в последнюю минуту.
Вы можете изменить фиксацию в командной строке с помощью следующей команды:
git commit --amend
Окно репозитория Git упрощает обновление сообщения фиксации. Откройте сведения о фиксации последней фиксации, дважды щелкнув его, а затем выберите параметр «Изменить » рядом с сообщением о фиксации.
После завершения редактирования сообщения фиксации нажмите кнопку «Изменить«.
Если вам нужно включить изменения кода в последнюю фиксацию, это можно сделать в окне изменений Git. Выберите поле «Изменить проверка», а затем зафиксируйте изменения.
Дополнительные сведения о внесении изменений см. в статье «Средства Git — переписывание журнала » на веб-сайте Git.
Фиксации слиянием (скваш)
Чтобы объединить серию фиксаций, Git предоставляет возможность squash-фиксаций в одну фиксацию. Этот параметр может быть полезным, если вы делаете частые фиксации и в конечном итоге с длинным списком фиксаций, которые необходимо очистить перед отправкой в удаленный репозиторий.
Вы можете сквашировать две фиксации в командной строке с помощью следующей команды:
git rebase -i HEAD~2
Затем обновите pick squash сообщение о фиксации, сохраните и обновите его.
Чтобы объединить фиксации в Visual Studio, используйте клавиши CTRL , чтобы выбрать несколько фиксаций, которые требуется объединить. Затем щелкните правой кнопкой мыши и выберите Squash Commits. Visual Studio автоматически объединяет сообщения фиксации, но иногда лучше предоставить обновленное сообщение. После просмотра и обновления сообщения фиксации нажмите кнопку Squash .
Дополнительные сведения о сквашировании см. в статье «Средства Git — переписывание журнала » на веб-сайте Git.
Слияние и повторная базовая ветвь
Если вы используете ветви Git для работы с различными функциями, в какой-то момент вам потребуется включить обновления, представленные в других ветвях. Это может произойти, пока вы все еще работаете над ветвь компонента. Это также может произойти, когда вы закончите работу над ветвь компонента и должны сохранить изменения, добавив их в другую ветвь. В Git эти обновления можно включить, объединяя или переключяя ветви.
Следующие инструкции используют New_Feature в качестве примера имени для ветвь компонента. Замените его именем собственной ветви.
Чтобы объединить основную ветвь в ветвь компонента в командной строке, выполните следующие команды:
git checkout New_Feature git merge main
Чтобы сделать то же самое в Visual Studio, проверка ветвь компонента, дважды щелкнув его в списке ветвей. Затем щелкните правой кнопкой мыши main и выберите «Объединить main» в «New_Feature».

Чтобы перебазировать главную ветвь в ветвь компонента в командной строке, используйте следующие команды:
git checkout New_Feature git rebase main
Чтобы сделать то же самое в Visual Studio, проверка ветвь компонента, дважды щелкнув его в списке ветвей. Затем щелкните правой кнопкой мыши main и выберите «Rebase» «New_Feature» на «main».

Дополнительные сведения о слиянии, перебазировании и ветвлениях в целом см . на веб-сайте Git Branching .
Копирование фиксаций (вишня-выбор)
Скопируйте фиксации из одной ветви в другую с помощью параметра выбора вишни. В отличие от слияния или повторной базы, выбор вишни приносит только изменения из выбранных фиксаций, а не все изменения в ветви. Выбор вишни — отличный способ решить эти распространенные проблемы:
- Случайное фиксация в неправильной ветви. Выберите изменения в правильной ветви, а затем сбросить исходную ветвь до предыдущей фиксации.
- Вытащив набор фиксаций, сделанных в ветвь компонента, поэтому вы объединяете их обратно в основную ветвь раньше.
- Перенос определенных фиксаций из основной ветви без повторной балансировки ветви.
Чтобы скопировать изменения из фиксации в текущую ветвь с помощью командной строки, используйте следующую команду:
git cherry-pick 7599e530
Чтобы сделать то же самое в Visual Studio, просмотрите ветвь, из которой вы хотите выбрать фиксацию, выбрав ее одним щелчком мыши. Затем щелкните правой кнопкой мыши целевую фиксацию и выберите «Вишни-Выбрать«.
По завершении операции Visual Studio отображает сообщение об успешном выполнении. Фиксация, которую вы выбрали вишни , появится в разделе «Исходящие «.
Дополнительные сведения о фиксациях выбора вишни см. на веб-странице Git для команды выбора вишни.
Отменить изменения
Используйте команду отменить изменения, чтобы отменить изменения, внесенные в фиксации, отправленные в общие ветви. Команда отменить изменения создает новую фиксацию, которая отменяет изменения, внесенные в предыдущую фиксацию. Команда отменить изменения не перезаписывает журнал репозитория, что делает его безопасным для использования при работе с другими пользователями.
Чтобы отменить изменения изменения, внесенные в фиксацию с помощью командной строки, используйте следующие команды. Замените пример идентификатором идентификатора реальной фиксации в ветви.
git revert 53333305 git commit
В предыдущем примере команды отменят изменения, внесенные в фиксацию 53333305, и создадут новую фиксацию в ветви. Исходная фиксация по-прежнему находится в журнале Git. Чтобы сделать то же самое в Visual Studio, щелкните правой кнопкой мыши фиксацию, которую вы хотите отменить изменения, а затем выберите «Вернуть». После подтверждения действия и завершения операции Visual Studio отображает сообщение об успешном выполнении, а новая фиксация появится в разделе «Исходящие».
Выберите новую фиксацию, чтобы убедиться, что она отменяет изменения отменить изменения фиксации.
Дополнительные сведения о отменить изменения изменениях см. на веб-странице Git для команды отменить изменения.
Сброс ветви в предыдущее состояние
Используйте команду сброса, чтобы вернуть ветвь в локальный репозиторий к содержимому предыдущей фиксации. Это действие не карта все изменения, которые произошли после фиксации, в которую вы сбрасываете ветвь.
Не сбрасывайте общие ветви, так как вы можете удалить работу других пользователей. Используйте вместо этого команду отменить изменения.
Чтобы сбросить ветвь в предыдущее состояние с помощью командной строки, используйте следующую команду. Замените пример идентификатором идентификатора реальной фиксации в ветви.
git reset --hard 53333305
—hard Часть команды сообщает Git, чтобы сбросить файлы в состояние предыдущей фиксации и дис карта любые промежуточные изменения. Чтобы сделать то же самое в Visual Studio, щелкните правой кнопкой мыши фиксацию, в которую нужно сбросить ветвь, а затем нажмите кнопку «Сброс >изменений» (—hard).
Дополнительные сведения о сбросе ветвей см. на веб-странице Git для команды сброса.
Следующие шаги
Чтобы продолжить свое путешествие, см. статью «Работа с несколькими репозиториями».
См. также
- Интерфейс Git в Visual Studio
- Visual Studio и GitHub: лучшее объединение
