Управление версиями visual studio
в настоящее время я работаю над большим проектом и собираюсь внести некоторые большие изменения и искал способ "резервного копирования" моей предыдущей работы. Есть встроенная функциональность в Visual Studio для работы с контролем версий?
этот проект разработан только мной и не использует Team Foundation Server (это то, на что большинство моих гуглов, похоже, дают мне ответы). В идеале, я хотел бы идентифицировать и восстановить все различные версии моей программы по мере ее развития, без приходится беспокоиться о том, чтобы что-нибудь не испортить.
ура и спасибо заранее!
---редактировать--- Однако с системой управления версиями это будет храниться на отдельном сервере? Или можно хранить его локально? Я больше обеспокоен тем, что я просто серьезно испорчу свой код и не смогу его отменить в какой-то момент.
существует несколько сторонних инструментов интеграции управления версиями, таких как ankhsvn или VisualSVN для репозиториев SVN (я использую первый и с удовольствием рекомендую его). Что касается" встроенного", Visual Studio поддерживает Team Foundation Server и Visual Source Safe из коробки, но это как платные продукты, так и VSS следует избегать (на мой взгляд) для любой новой работы.
лично я использую TortiseSVN (для интеграции Windows) и AnkhSVN (для интеграции VS) с нашим SVN хранилище. Также есть бесплатные SVN-серверы, поэтому вы можете обойтись очень хорошим решением, заплатив $0.
Ну, есть несколько свободный системы управления версиями варианты а там Плагины (бесплатных) в Visual Studio это позволит вам подключиться прямо. Взгляните на эти ссылки и выберите тот, который работает для вас!
Visual Studio имеет возможность работать со многими поставщиками системы управления версиями. Вы просто должны подключить их.
использовать "инструменты->опции->управление->подключаемый модуль выбора".
TFS действительно дорого, особенно для вас. Вы можете использовать клиента VisualSVN.
Это бесплатная загрузка для нас ANkhsvn. Это плагин для visual studio, который подключается к различным разделителям управления версиями. Сначала вам нужно будет где-то настроить сервер subversion. Что довольно легко сделать.
Как вы заявляете, вам нужна система контроля версий. Посмотри на это!--1-- > ответ на выбор системы управления версиями.
вы можете использовать git с VS, что означает, что вам не нужен другой dir/server и т. д. Для РЕПО. Считать использование Git с Visual Studio
вы можете использовать SVN (Subversion) - один из наиболее широко используемых.
Используйте Git для распределенного управления версиями или систему управления версиями Team Foundation (TFVC) для централизованного управления версиями без дополнительной настройки. Используйте встроенную интеграцию GitHub и Azure DevOps для удаленного поставщика или установите расширения для улучшенной работы с другими поставщиками управления версиями.
Улучшенное создание репозиториев в Git
Разработчики могут добавить свой код в Git и GitHub одним щелчком, создав новый репозиторий GitHub, который по умолчанию является частным. Кроме того, пользователи могут создать полностью локальный репозиторий git или добавить свой код в существующий удаленный репозиторий на GitHub и Azure DevOps.
Доступное меню верхнего уровня в Git
Теперь разработчики могут пользоваться своими излюбленными функциями Git с помощью нового меню Git верхнего уровня, которое открывается по нажатию клавиш ALT+G. Пользователи также могут с легкостью переходить между локальными репозиториями git с помощью подменю локальных репозиториев.
Полноэкранное окно репозитория Git
Новый интерфейс Git включает окно репозиториев со множеством функций, которые упрощают визуализацию репозитория и управление им. Окно репозиториев доступно через меню Git, меню вида, строку состояния и ссылку входящих и исходящих в окне изменений Git.
Расширенный интерфейс разрешения конфликтов
Разработчики теперь могут с легкостью сравнивать строки, используя новую функцию отображения различий в словах. Пользователи теперь могут принимать все текущие или входящие изменения одним щелчком.
Совместная работа в реальном времени
С помощью Live Share вы можете подключаться к сеансам ваших коллег. Вы можете ускорить поиск решений, позволив участникам команды переходить по коду, устанавливать точки останова и вводить код в сеансе редактора.
Visual Studio Code has integrated source control management (SCM) and includes Git support out-of-the-box. Many other source control providers are available through extensions on the VS Code Marketplace.
Tip: Click on an extension tile to read the description and reviews in the Marketplace.
SCM Providers
VS Code has support for handling multiple Source Control providers simultaneously. For example, you can open multiple Git repositories alongside your Azure DevOps Server local workspace and seamlessly work across your projects. To turn on the Source Control Providers view, select the overflow menu in the Source Control view ( ⌃⇧G (Windows, Linux Ctrl+Shift+G ) ), hover over Views, and make sure that Source Control Repositories is marked with a check. The Source Control Providers view shows the detected providers and repositories, and you can scope the display of your changes by selecting a specific provider.
SCM Provider extensions
If you would like to install another SCM provider, you can search on the scm providers extension category in the Extensions view ( ⇧⌘X (Windows, Linux Ctrl+Shift+X ) ). Start typing '@ca' and you will see suggestions for extension categories like debuggers and linters. Select @category:"scm providers" to see available SCM providers.
Git support
VS Code ships with a Git source control manager (SCM) extension. Most of the source control UI and work flows are common across other SCM extensions, so reading about the general Git support in VS Code will help you understand how to use another provider.
Note: If you are new to Git, the git-scm website is a good place to start, with a popular online book, Getting Started videos and cheat sheets. The VS Code documentation assumes you are already familiar with Git.
Note: VS Code will leverage your machine's Git installation, so you need to install Git first before you get these features. Make sure you install at least version 2.0.0 .
👉 When you commit, be aware that if your username and/or email is not set in your Git configuration, Git will fall back to using information from your local machine. You can find the details in Git commit information.
The Source Control icon in the Activity Bar on the left will always indicate an overview of how many changes you currently have in your repository. Selecting the icon will show you the details of your current repository changes: CHANGES, STAGED CHANGES and MERGE CHANGES.
Clicking each item will show you in detail the textual changes within each file. Note that for unstaged changes, the editor on the right still lets you edit the file: feel free to use it!
You can also find indicators of the status of your repository in the bottom-left corner of VS Code: the current branch, dirty indicators, and the number of incoming and outgoing commits of the current branch. You can checkout any branch in your repository by clicking that status indicator and selecting the Git reference from the list.
Tip: You can open VS Code in a sub-directory of a Git repository. VS Code's Git services will still work as usual, showing all changes within the repository, but file changes outside of the scoped directory are shaded with a tool tip indicating they are located outside the current workspace.
Commit
Staging (git add) and unstaging (git reset) can be done via contextual actions in the files or by drag-and-drop.
You can type a commit message above the changes and press Ctrl+Enter (macOS: ⌘+Enter ) to commit them. If there are any staged changes, only those changes will be committed. Otherwise, you'll get a prompt asking you to select what changes you'd like to commit and get the option to change your commit settings.
We've found this to be a great workflow. For example, in the earlier screenshot, only the staged changes to overview.jpg will be included in the commit. Later staging and commit actions could include the changes to versioncontrol.md and the two other .jpg images as a separate commit.
More specific Commit actions can be found in the Views and More Actions . menu on the top of the Source Control view.
Tip: If you commit your change to the wrong branch, undo your commit using the Git: Undo Last Commit command in the Command Palette ( ⇧⌘P (Windows, Linux Ctrl+Shift+P ) ).
Cloning a repository
If you haven't opened a folder yet, the Source Control view will give you the options to Open Folder from your local machine or Clone Repository.
If you select Clone Repository, you will be asked for the URL of the remote repository (for example on GitHub) and the parent directory under which to put the local repository.
For a GitHub repository, you would find the URL from the GitHub Code dialog.
You would then paste that URL into the Git: Clone prompt.
You'll also see the option to Clone from GitHub. Once you authenticate with your GitHub account in VS Code, you'll be able to search through repositories by name, and select any repo to clone it. You can also start the flow to clone a Git repository with the Git: Clone command in the Command Palette ( ⇧⌘P (Windows, Linux Ctrl+Shift+P ) ). To see a step-by-step walkthrough, check out our Clone repos from VS Code video.
Note: If you'd like to work on a repository without cloning the contents to your local machine, you can install the GitHub Repositories extension to browse and edit directly on GitHub. You can learn more in the GitHub Repositories extension section.
Branches and Tags
You can create and checkout branches directly within VS code through the Git: Create Branch and Git: Checkout to commands in the Command Palette ( ⇧⌘P (Windows, Linux Ctrl+Shift+P ) ).
If you run Git: Checkout to, you will see a dropdown list containing all of the branches or tags in the current repository. It will also give you the option to create a new branch if you decide that's a better option, or checkout a branch in detached mode.
The Git: Create Branch command lets you quickly create a new branch. Just provide the name of your new branch and VS Code will create the branch and switch to it. If you choose to Create new branch from. , you'll get an extra prompt that allows you to specify which commit the new branch should be pointing to.
Remotes
Given that your repository is connected to some remote and that your checked out branch has an upstream link to a branch in that remote, VS Code offers you useful actions to push, pull, and sync that branch (the latter will run a pull command followed by a push command). You can find these actions in the Views and More Actions . menu, along with the option to add or remove a remote.
VS Code is able to periodically fetch changes from your remotes. This enables VS Code to show how many changes your local repository is ahead or behind the remote. Starting with VS Code 1.19, this feature is disabled by default and you can use the git.autofetch setting to enable it.
Tip: You should set up a credential helper to avoid getting asked for credentials every time VS Code talks to your Git remotes. If you don't do this, you may want to consider disabling automatic fetching via the git.autofetch setting to reduce the number of prompts you get.
Git Status Bar actions
There is a Synchronize Changes action in the Status Bar, next to the branch indicator, when the current checked out branch has an upstream branch configured. Synchronize Changes will pull remote changes down to your local repository and then push local commits to the upstream branch.
If there is no upstream branch configured and the Git repository has remotes set up, the Publish action is enabled. This will let you publish the current branch to a remote.
Gutter indicators
If you open a folder that is a Git repository and begin making changes, VS Code will add useful annotations to the gutter and to the overview ruler.
- A red triangle indicates where lines have been deleted
- A green bar indicates new added lines
- A blue bar indicates modified lines
Merge conflicts
Merge conflicts are recognized by VS Code. Differences are highlighted and there are inline actions to accept either one or both changes. Once the conflicts are resolved, stage the conflicting file so you can commit those changes.
Viewing diffs
Our Git tooling supports viewing of diffs within VS Code.
Tip: You can diff any two files by first right clicking on a file in the Explorer or OPEN EDITORS list and selecting Select for Compare and then right-click on the second file to compare with and select Compare with 'file_name_you_chose'. Alternatively from the keyboard hit ⇧⌘P (Windows, Linux Ctrl+Shift+P ) and select File: Compare Active File With and you will be presented with a list of recent files.
Diff editor review pane
There is a review pane in the Diff editor that presents changes in a unified patch format. You can navigate between changes with Go to Next Difference ( F7 ) and Go to Previous Difference ( ⇧F7 (Windows, Linux Shift+F7 ) ). Lines can be navigated with arrow keys and pressing Enter will jump back in the Diff editor and the selected line.
Note: This experience is especially helpful for screen reader users.
Timeline view
The Timeline view, accessible at the bottom of the File Explorer by default, is a unified view for visualizing time-series events (for example, Git commits) for a file.
VS Code's built-in Git support provides the Git commit history of the specified file. Selecting a commit will open a diff view of the changes introduced by that commit. When you right-click on a commit, you'll get options to Copy Commit ID and Copy Commit Message.
Visual Studio Code supports more Git history workflows through extensions available on the VS Code Marketplace.
Tip: Click on an extension tile to read the description and reviews in the Marketplace.
Git output window
You can always peek under the hood to see the Git commands we are using. This is helpful if something strange is happening or if you are just curious. :)
To open the Git output window, run View > Output and select Git from the dropdown list.
Initialize a repository
If your workspace is on your local machine, you can enable Git source control by creating a Git repository with the Initialize Repository command. When VS Code doesn't detect an existing Git repository, the Source Control view will give you the options to Initialize Repository or Publish to GitHub.
You can also run the Git: Initialize Repository and Publish to GitHub commands from the Command Palette ( ⇧⌘P (Windows, Linux Ctrl+Shift+P ) ). Running Initialize Repository will create the necessary Git repository metadata files and show your workspace files as untracked changes ready to be staged. Publish to GitHub will directly publish your workspace folder to a GitHub repository, allowing you to choose between a private and public repositories. Check out our publishing repos video for more information about publishing to GitHub.
VS Code as Git editor
When you launch VS Code from the command line, you can pass the --wait argument to make the launch command wait until you have closed the new VS Code instance. This can be useful when you configure VS Code as your Git external editor so Git will wait until you close the launched VS Code instance.
Here are the steps to do so:
- Make sure you can run code --help from the command line and you get help.
- if you do not see help, please follow these steps:
- macOS: Select Shell Command: Install 'Code' command in path from the Command Palette.
- Windows: Make sure you selected Add to PATH during the installation.
- Linux: Make sure you installed Code via our new .deb or .rpm packages.
- if you do not see help, please follow these steps:
- From the command line, run git config --global core.editor "code --wait"
Now you can run git config --global -e and use VS Code as editor for configuring Git.
VS Code as Git diff tool
Add the following to your Git configurations to use VS Code as the diff tool:
This leverages the --diff option you can pass to VS Code to compare two files side by side.
To summarize, here are some examples of where you can use VS Code as the editor:
- git rebase HEAD~3 -i do interactive rebase using VS Code
- git commit use VS Code for the commit message
- git add -p followed by e for interactive add
- git difftool ^ use VS Code as the diff editor for changes
Working with pull requests
Visual Studio Code also supports pull request workflows through the GitHub Pull Requests and Issues extension available on the VS Code Marketplace. Pull request extensions let you review, comment, and verify source code contributions directly within VS Code.
Next steps
-
- An introductory video providing an overview of VS Code Git support. - Learn about the powerful VS Code editor. - Move quickly through your source code. - This is where VS Code really shines - Running tasks with Gulp, Grunt, and Jake. Showing Errors and Warnings - If you want to integrate another Source Control provider into VS Code, see our Source Control API.
Common questions
I initialized my repo but the actions in the . menu are all grayed out
To push, pull, and sync you need to have a Git origin set up. You can get the required URL from the repository host. Once you have that URL, you need to add it to the Git settings by running a couple of command-line actions. For example:
My team is using Team Foundation Version Control (TFVC) instead of Git. What should I do?
Use the Azure Repos extension and this will light up TFVC support.
Why do the Pull, Push and Sync actions never finish?
This usually means there is no credential management configured in Git and you're not getting credential prompts for some reason.
You can always set up a credential helper in order to pull and push from a remote server without having VS Code prompt for your credentials each time.
How can I sign in to Git with my Azure DevOps organization that requires multi-factor authentication?
Git Credential Manager (GCM) is the recommended Git credential helper for Windows, macOS, and Linux. If you're running Git for Windows, GCM has already been installed and configured for you. If you're running on macOS or Linux, the GCM README has setup instructions.
I have GitHub Desktop installed on my computer but VS Code ignores it
VS Code only supports the official Git distribution for its Git integration.
I keep getting Git authentication dialogs whenever VS Code is running
VS Code automatically fetches changes from the server in order to present you with a summary of incoming changes. The Git authentication dialog is independent from VS Code itself and is a part of your current Git credential helper.
One way to avoid these prompts is to set up a credential helper that remembers your credentials.
Another option is to disable the auto fetch feature by changing the following setting: "git.autofetch": false .
Can I use SSH Git authentication with VS Code?
Yes, though VS Code works most easily with SSH keys without a passphrase. If you have an SSH key with a passphrase, you'll need to launch VS Code from a Git Bash prompt to inherit its SSH environment.
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Open with Desktop
- View raw
- Copy raw contents Copy raw contents
Copy raw contents
Copy raw contents
Узнайте о возможностях Git для более эффективного управления версиями исходного кода в Visual Studio.
Упрощение управления версиями в Visual Studio с помощью Git
Вам когда-нибудь хотелось, чтобы можно было вернуться к ранее работающей версии кода? Вы вручную храните резервные копии кода в разных местах? Здесь вам поможет управление версиями.
Git — это самая широко используемая система управления версиями в современном мире. С помощью Git вы можете отслеживать изменения, вносимые в код с течением времени, и выполнять откат к определенным версиям. Возможности Git в Visual Studio могут принести большую пользу и новичкам, и профессиональным разработчикам.
[!Tip] Чтобы узнать об использовании Git и GitHub в Visual Studio, зарегистрируйтесь для прохождения серии курсов Git Learning Series.
Начало работы с Git и GitHub в Visual Studio
С помощью Git можно легко управлять версиями в Visual Studio. Работайте так, как вам удобно: удаленно через выбранного поставщика Git, такого как GitHub или Azure DevOps, или локально без каких-либо поставщиков.
Чтобы начать работу с Git в Visual Studio, сделайте следующее:
Если у вас есть Git-репозиторий, размещенный у поставщика, например в GitHub, клонируйте репозиторий на свой локальный компьютер.
Либо вы можете легко создать репозиторий Git и добавить свой код. Если у вас еще нет поставщика Git, рекомендуем начать с GitHub, так как именно под этого поставщика оптимизирован интерфейс Git в Visual Studio. GitHub предоставляет бесплатное и защищенное облачное хранилище кода, в котором вы можете хранить код и обращаться к нему с любого устройства и в любом месте.
Вы можете добавить учетные записи GitHub и GitHub Enterprise в свою цепочку ключей и использовать их так же, как учетные записи Майкрософт. Если у вас нет учетной записи GitHub, воспользуйтесь инструкциями, чтобы создать учетную запись GitHub для использования с Visual Studio прямо сейчас.
. image type="content" source="media/git-source-control-create-repository.jpg" alt-text="Диалоговое окно "Создание репозитория Git" в Visual Studio.".
Просмотр файлов в обозревателе решений
При клонировании репозитория или открытии локального репозитория Visual Studio переключается на контекст Git. Обозреватель решений загружает папку в корне репозитория Git и проверяет дерево каталогов на наличие просматриваемых файлов, например CMakeLists.txt или файлов с расширением .sln . Дополнительные сведения см. в разделе Просмотр файлов в Обозревателе решений.
Интуитивный повседневный рабочий процесс
Для повседневного рабочего процесса Git Visual Studio предоставляет простой способ взаимодействия с Git при написании кода без необходимости покидать свой код.
Вы можете выполнять несколько задач и экспериментировать с кодом с помощью ветвей. Если вы или ваша команда работаете с несколькими компонентами одновременно или хотите опробовать какие-то идеи, не затрагивая рабочий код, ветвление оказывается очень полезным. Рекомендуемый рабочий процесс Git использует новую ветвь для каждого компонента или исправления, над которым вы работаете. Узнайте, как создать ветвь из Visual Studio.
После создания новой ветви и переключения на нее вы можете начать с изменения имеющихся файлов или добавления новых, а затем зафиксировать работу в репозитории. Чтобы узнать больше о фиксации в Visual Studio и состоянии файлов в Git см. страницу Фиксация кода.
Если вы работаете в команде или используете разные компьютеры, вам также потребуется постоянно получать новые изменения из удаленного репозитория. Дополнительные сведения об управлении сетевыми операциями Git в Visual Studio см. на странице Получение, вытягивание, отправка и синхронизация.
. image type="content" source="media/git-source-control-inner-loop.jpg" alt-text="Интегрированная среда разработки Visual Studio с меню Git и вкладка "Изменения Git" в обозревателе решений.".
Управление репозиториями и совместная работа
Однако бывают случаи, когда лучше сосредоточиться на репозитории Git. Например, вы хотите понять, над чем работает команда, скопировать фиксацию из другой ветви или просто очистить исходящие фиксации. Visual Studio включает мощные функции для просмотра репозиториев и совместной работы, благодаря которым использовать другие средства не требуется.
Чтобы вы могли сосредоточиться на репозитории Git, в Visual Studio есть окно Репозиторий Git, в котором представлены все сведения о репозитории, включая локальные и удаленные ветви и журналы фиксации. Открыть это окно можно из меню GIT или Вид либо непосредственно из строки состояния.
. image type="content" source="media/git-source-control-repository-management.jpg" alt-text="Интегрированная среда разработки Visual Studio, в которой выделено меню Git и вкладка "Изменения Git" в обозревателе решений.".
Просмотр репозиториев Git и управление ими
Дополнительные сведения об использовании окна репозитория Git в Visual Studio для просмотра репозитория Git и управления им см. на следующих страницах:
Разрешение конфликтов слияния
Во время слияния могут возникать конфликты, если два разработчика изменяют одни и те же строки в файле и Git неизвестно, какой вариант правильный. В этом случае GIT прерывает слияние и сообщает о конфликтном состоянии. Дополнительные сведения см. в статье о разрешении конфликтов слияния.
Настройка параметров GIT
Чтобы настроить параметры Git на уровне репозитория, а также на глобальном уровне, выполните приведенные ниже действия.
- В строке меню выберите Git >Параметры.
- Затем выберите нужные параметры.
. image type="content" source="media/git-options-settings.jpg" alt-text="Диалоговое окно "Параметры" Visual Studio IDE, в котором можно выбрать параметры персонализации и настройки.".
Улучшение возможностей и отзывы
Мы продолжаем добавлять новые функции для расширения возможностей Git. Дополнительные сведения о недавно появившихся функциях, а также опрос, в котором можно поделиться отзывом, доступны в записи блога Multi-repo support in Visual Studio (Поддержка множества репозиториев в Visual Studio). Если у вас есть предложение, отправьте его нам. Мы будем рады вашему участию в работе над решением на портале Сообщества разработчиков.
Чтобы попробовать более новые обновления функций Git и обновления из выпуска предварительной версии, скачайте и установите его со страницы Visual Studio 2022 Preview. Сведения о каждом выпуске см. в Заметках о выпуске Visual Studio 2022.
Теперь Git является интерфейсом системы управления версиями по умолчанию в Visual Studio 2019. Начиная с версии 16.6 мы работаем над созданием набора функций на основе ваших отзывов. В версии 16.8 Git стал интерфейсом управления версиями по умолчанию для всех.
[!NOTE] Мы продолжаем расширять набор возможностей Git в Visual Studio 2022. Дополнительные сведения о последнем обновлении компонентов см. в записи блога Поддержка нескольких репозиториев в Visual Studio.
Дополнительные сведения о Git
Начало работы с Git в Visual Studio 2019
Мы подробно расскажем вам о том, как использовать новый интерфейс Git в Visual Studio. Однако если вы хотите сначала ознакомиться с кратким обзором, посмотрите следующее видео:
Длительность видео: 05:27 мин.
Существует три способа начать использование Git в Visual Studio для повышения производительности:
-
. Если у вас уже есть код и он не связан с Git, можно начать с создания нового репозитория Git. . Если код, с которым вы хотите работать, не находится на вашем компьютере, можно клонировать любые существующие удаленные репозитории. . Если у вас уже есть код на компьютере, его можно открыть с помощью пункта меню Файл >Открыть >Решение/проект (или Папка). Visual Studio автоматически определяет, имеется ли инициализированный репозиторий GIT.
[!NOTE] Начиная с версии 16.8 Visual Studio 2019 включает полностью интегрированный интерфейс для работы с учетными записями GitHub. Теперь вы можете добавить в цепочку ключей учетные записи GitHub и GitHub Enterprise. Вы сможете добавлять и использовать их так же, как и учетные записи Майкрософт. Это позволит упростить доступ к ресурсам GitHub в Visual Studio. Дополнительные сведения см. на странице Работа с учетными записями GitHub в Visual Studio.
[!TIP] Если у вас нет учетной записи GitHub, можно начать с выполнения действий, описанных в разделе Создание учетной записи GitHub для использования с Visual Studio.
Создание нового репозитория Git в Visual Studio 2019
Если ваш код не связан с GIT, можно начать с создания нового репозитория GIT. Для этого в строке меню выберите GIT > Создать репозиторий GIT. Затем в диалоговом окне Создание репозитория GIT введите свои данные.
. image type="content" source="media/git-create-repository.jpg" alt-text="Диалоговое окно "Создание репозитория Git" в Visual Studio.".
[!TIP] Независимо от того, является ли репозиторий общедоступным или частным, лучше создать удаленную резервную копию кода, которая будет безопасно храниться в GitHub, даже если вы работаете сами по себе. Это также позволит вам получать доступ к коду с любого компьютера.
Вы можете создать исключительно локальный репозиторий GIT, выбрав параметр Только локальный. Вы также можете связать локальный проект с любым существующим пустым удаленным репозиторием, размещенным в Azure DevOps или у любого другого поставщика Git, с помощью параметра Существующий удаленный репозиторий.
Клонирование существующего репозитория Git в Visual Studio 2019
В Visual Studio процесс клонирования прост. Если вы знаете URL-адрес репозитория, который нужно клонировать, можно вставить его в разделе Расположение репозитория, а затем выбрать место на диске, в которое будет клонирован репозиторий.
. image type="content" source="media/git-clone-repository.jpg" alt-text="Диалоговое окно "Клонирование репозитория Git" в Visual Studio.".
Если вы не знаете URL-адрес репозитория, в Visual Studio можно легко перейти к существующему репозиторию GitHub или Azure DevOps и выбрать его.
Открытие существующего локального репозитория в Visual Studio 2019
После клонирования или создания репозитория GIT Visual Studio обнаружит его и добавит в список Локальные репозитории в меню GIT.
В нем можно быстро открывать репозитории GIT и переключаться между ними.
. image type="content" source="media/git-local-repositories.jpg" alt-text="Вариант "Локальные репозитории" в меню Git в Visual Studio.".
Просмотр файлов в Обозревателе решений в Visual Studio 2019
При клонировании репозитория или открытии локального репозитория Visual Studio переключается в этот контекст GIT, сохраняя и закрывая все ранее открытые решения и проекты. Обозреватель решений загружает папку в корне репозитория Git и проверяет дерево каталогов на наличие просматриваемых файлов. К ним относятся такие файлы, как CMakeLists.txt или файлы с расширением SLN.
Visual Studio настраивает представление в зависимости от файла, загруженного в обозреватель решений:
- При клонировании репозитория, содержащего один SLN-файл, обозреватель решений напрямую загружает это решение.
- Если обозреватель решений не обнаруживает файлов SLN в репозитории, по умолчанию он загружает представление папки.
- Если репозиторий содержит несколько файлов SLN, то обозреватель решений выводит список доступных представлений для выбора.
Переключаться между текущим представлением и списком представлений можно с помощью кнопки Переключить представления на панели инструментов обозревателя решений.
. image type="content" source="media/git-solution-explorer-views.jpg" alt-text="Обозреватель решений с нажатой кнопкой "Переключить представления" в Visual Studio.".
Окно "Изменения Git" в Visual Studio 2019
GIT отслеживает изменения файлов в репозитории в процессе работы и разделяет файлы на три категории. Это те же изменения, которые отображаются при вводе команды git status в командной строке.
- Файлы без изменений: эти файлы не были изменены с момента последней фиксации.
- Измененные файлы: эти файлы изменились с момента последней фиксации, но еще не были подготовлены для следующей фиксации.
- Промежуточные файлы: эти файлы содержат изменения, которые будут добавлены в следующую фиксацию.
В процессе работы Visual Studio отслеживает изменения в файлах проекта в разделе Изменения окна Изменения GIT.
. image type="content" source="media/git-changes-window.jpg" alt-text="Окно "Изменения Git" в Visual Studio.".
Когда вы будете готовы подготовить изменения, нажмите кнопку + (плюс) для каждого из файлов, которые необходимо подготовить, или щелкните файл правой кнопкой мыши и выберите пункт Промежуточно сохранить. Можно также подготовить все измененные файлы одним щелчком мыши, используя кнопку "Промежуточно сохранить все" ( + ) в верхней части раздела Изменения.
При подготовке изменения Visual Studio создает раздел Подготовленные изменения. Только изменения из раздела Подготовленные изменения добавляются к следующей фиксации, которую можно выполнить, выбрав команду Зафиксировать промежуточные. Эквивалентная команда для этого действия — git commit -m "Your commit message" . Можно также отменить подготовку изменений, нажав кнопку – (минус). Эквивалентная команда для этого действия — git reset для отмены размещения одного файла или git reset для отмены размещения всех файлов в каталоге.
. image type="content" source="media/git-file-version-compare.jpg" alt-text="Построчное сравнение версий файла в Visual Studio.".
Выбор существующей ветви в Visual Studio 2019
В Visual Studio текущая ветвь отображается в селекторе в верхней части окна Изменения GIT.
. image type="content" source="media/git-changes-current-branch-selector.jpg" alt-text="Текущие ветви, которые можно просмотреть с помощью селектора в верхней части окна "Изменения Git" в Visual Studio.".
Текущая ветвь также доступна в строке состояния в правом нижнем углу интегрированной среды разработки Visual Studio.
. image type="content" source="media/git-changes-current-branch-status-bar.jpg" alt-text="Текущие ветви, которые можно просмотреть с помощью строки состояния в правом нижнем углу интегрированной среды разработки Visual Studio.".
В обоих местах можно переключаться между имеющимися ветвями.
Создание новой ветви в Visual Studio 2019
Можно также создать новую ветвь. Эквивалентная команда для этого действия — git checkout -b .
Чтобы создать ветвь, достаточно ввести ее имя и указать существующую ветвь, на основе которой будет создана данная.
. image type="content" source="media/git-changes-create-new-branch.jpg" alt-text="Диалоговое окно "Создание новой ветви" в Visual Studio.".
В качестве базовой можно выбрать существующую локальную или удаленную ветвь. Если флажок Извлечь ветвь установлен, вы автоматически переключитесь на новую ветвь после ее создания. Эквивалентная команда для этого действия — git checkout -b .
Окно репозитория Git в Visual Studio 2019
В Visual Studio имеется новое окно Репозиторий GIT, в котором представлены все сведения о репозитории, включая все ветви, удаленные репозитории и журналы фиксации. Открыть это окно можно из меню GIT или Вид либо непосредственно из строки состояния.
Управления ветвями в Visual Studio 2019
При выборе в меню GIT пункта Управление ветвями отображается древовидное представление ветвей в окне Репозиторий GIT. В левой области можно использовать контекстное меню для извлечения, создания, объединения ветвей, перемещения изменений из одной ветви в другую, отбора изменений и других действий. Щелкнув ветвь, можно просмотреть ее журнал фиксаций в правой области.
При принесении ветви в окне Изменения GIT под раскрывающемся списком ветвей отображается индикатор, который показывает количество фиксаций, которые не были вытянуты из удаленной ветви. Он также показывает число локальных фиксаций, которые не были отправлены.
. image type="content" source="media/git-repo-drop-down-indicator.jpg" alt-text="Окно "Изменения Git" с индикатором под раскрывающимся списком в Visual Studio.".
. image type="content" source="media/git-branch-commit-history.jpg" alt-text="Окно "Репозиторий Git" с журналом фиксаций для ветви в Visual Studio.".
Сведения о фиксации в Visual Studio 2019
. image type="content" source="media/git-branch-commit-details.jpg" alt-text="Диалоговое окно "Сведения о фиксации" в Visual Studio.".
Обработка конфликтов слияния в Visual Studio 2019
Во время слияния могут возникать конфликты, если два разработчика изменяют одни и те же строки в файле и GIT неизвестно, какой вариант правильный. В этом случае GIT прерывает слияние и сообщает о конфликтном состоянии.
В Visual Studio можно легко выявлять и устранять конфликты слияния. Во-первых, в верхней части окна Репозиторий GIT имеется золотистая информационная панель.
Но если ни одно из этих окон не открыто и вы переходите к файлу с конфликтами слияния, вам не придется искать следующий текст:
Редактор слияния в Visual Studio 2019
Редактор слияния в Visual Studio позволяет выполнять трехстороннее сравнение: в нем приводятся входящие изменения, текущие изменения и результат слияния. С помощью панели инструментов вверху редактора слияния можно переходить между конфликтами и просматривать результаты автоматического слияния в файле.
. image type="content" source="media/git-merge-editor.jpg" alt-text="Редактор слияния в Visual Studio. ".
Персонализация параметров Git в Visual Studio 2019
Чтобы настроить параметры GIT на уровне репозитория, а также на глобальном уровне, выберите в строке меню пункты GIT > Параметры или Сервис > Параметры > Управление исходным кодом. Затем выберите нужные параметры.
. image type="content" source="media/git-options-settings.jpg" alt-text="Диалоговое окно "Параметры" Visual Studio IDE, в котором можно выбрать параметры персонализации и настройки.".
Использование всех возможностей Team Explorer в Visual Studio 2019
Новый интерфейс GIT — это система контроля версий по умолчанию в Visual Studio 2019 начиная с версии 16.8. Однако при желании этот интерфейс можно отключить. Чтобы вернуться в Team Explorer для Git, выберите Средства > Параметры > Среда > Функции предварительной версии и снимите флажок Новый пользовательский интерфейс Git.
. image type="content" source="media/git-opt-new-user-experience.jpg" alt-text="Раздел "Функции предварительной версии" диалогового окна "Параметры" в Visual Studio.".
Интеграция Git с Visual Studio Code
В веб-разработке Visual Studio Code (VS Code) стал одним из самых популярных редакторов. Он приобрел такую популярность благодаря множеству встроенных функций, среди которых есть и интеграция системы управления версиями Git. Использование Git через VS Code может сделать ваш рабочий процесс более эффективным и надежным.
В этом мануале мы расскажем, как использовать интеграцию системы управления версиями Git в VS Code.
Требования
- Установка Git (инструкции вы найдете в мануале Разработка проектов с открытым исходным кодом: начало работы с Git).
- Последняя версия Visual Studio Code.
1: Вкладка Source Control
Первое, что вам нужно сделать, чтобы ознакомиться с преимуществами интеграции системы управления версиями, – это инициализировать проект как репозиторий Git.
Откройте 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. Добавьте что-нибудь в , например, заголовок , и сохраните его.
В панели Source Control вы увидите, что ваш файл изменился. Рядом с ним будет отображаться буква M (modified), которая указывает на отредактированный файл
Это изменение можно также сохранить через коммит.
Теперь, когда вы знакомы с панелью Source Control, мы можем переходить к индикаторам gutter.
2: Интерпретация индикаторов gutter
На этом этапе мы рассмотрим индикаторы gutter, или индикаторы желоба. Желоб – это узкая область, которая находится между индикатором строк и кодом.
Если ранее вы использовали сворачивание кода, то знаете, что значки разворачивания и сворачивания кода расположены именно в области желоба.
Начнем с внесения небольших изменений в файл index.html – можно, например, изменить контент в теге . После этого вы увидите синюю вертикальную метку в желобе напротив измененной строки. Вертикальная синяя метка означает, что соответствующая строка кода была отредактирована.
Теперь попробуйте удалить одну из строк в разделе вашего файла index.html. Обратите внимание на красный треугольник в желобе. Красный треугольник указывает на строку или группу строк, которые были удалены.
Теперь перейдите к нижней части раздела и добавьте туда новую строку кода. Обратите внимание на вертикальную зеленую полосу – она указывает на добавленную строку кода.
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 «из коробки» предлагает многие функции, для которых ранее требовалась загрузка отдельного инструмента.
Читайте также: