СправошнаяПоиск

Работа с помощью Git в подсистеме Windows для Linux (WSL)

Git — это наиболее часто используемая система управления версиями. С помощью Git вы можете внести изменения в файлы, поэтому у вас есть запись о том, что было сделано, и если вы можете вернуться к более ранним версиям файлов. Git также увеличивает совместную работу, допускает изменение количества людей в одном источнике.

Git можно установить в Windows и в WSL

Важно: при включении WSL и установке дистрибутива Linux была создана файловая система, отделенная от Windows NTFS C:\ диск на компьютере. В Linux диски не получаются. Они получают точки подключения. Корнем файловой системы /является точкой подключения корневой секции или папки в случае WSL. Не все под /тем же диском. Например, на ноутбуке установлены две версии Ubuntu (20.04 и 18.04), а также Debian. Если открыть эти домашние дистрибутивы, выберите каталог с помощью команды cd ~, затем введите команду explorer.exe ., Windows проводник легко и отобразится путь к каталогу для этого распространения.

Дистрибутив Linux Путь Windows для доступа к исключенной папке
Убунту 20.04 \\wsl$\Ubuntu-20.04\home\username
Убунту 18.04 \\wsl$\Ubuntu-18.04\home\username
Дебиан \\wsl$\Debian\home\username
Windows PowerShell C:\Users\username

Совет

Если вы ищете доступ к каталогу файлов Windows из командной строки дистрибутива WSL, а не C:\Users\usernameк каталогу, который будет в Республике /mnt/c/Users/username, так как дистрибутив Linux просматривает вашу файловую систему Windows в качестве подключенного диска.

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

Отображение версий Git по дистрибутивам

Установка Git

Git уже установлен с большинством дистрибутивов подсистемы Windows для Linux, однако может ожидать обновления до последней версии. Вам также потребуется настроить файл сборки Git.

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

Для последней стабильной версии Git в Ubuntu или Debian введите команду:

Баш

 

sudo apt-get install git

Примечание

Кроме того, вы можете установить Git для Windows, если вы еще этого не сделали.

Настройка файла сборки Git

Чтобы настроить файл конфигурации Git, общедоступную командную строку для дистрибутива, в которой вы работаете, и задайте имя с помощью этой команды (заменив "Ваше имя" предполагаемым именем пользователя):

Баш

 

git config --global user.name "Your Name"

 

Задайте адрес электронной почты с помощью этой команды (заменив "youremail@domain.com" нужным адресом):

Баш

 

git config --global user.email "youremail@domain.com"

 

Совет

Если у вас еще нет учетных записей GitHub, ее можно зарегистрироваться на GitHub . Если вы никогда не использовали Git, обратитесь к GitHub . Они помогут вам приступить к работе. Если необходимо изменить настройки Git, это можно сделать с помощью встроенного текстового редактора, например nano: nano ~/.gitconfig.

признанная учетная запись с использованием двухфакторной проверки подлинности пользователей ( 2FA ).

Настройка диспетчера учетных данных Git

Диспетчер учетных данных Git (GCM) — это защищенная служба учета данных Git, основанная на .NET , которую можно использовать с WSL1 WSL2. Она описывает скорость многофакторной проверки реализации для репозиториев GitHub, Azure DevOps , Azure DevOps Server и Bitbucket.

GCM интегрируется в поток проверки раскрытия для таких служб, как GitHub, и после обнаружения раскрытия у поставщика услуги обнаружения запроса нового маркера раскрытия. Маркер успеха безопасности в диспетчере учетных данных Windows . После первого входа вы можете использовать Git для совместного использования с поставщиком услуг, не требуя проверки доступа. Он просто обращается к маркеру в диспетчере учетных данных Windows.

Чтобы использовать GCM с WSL, необходимо использовать Windows 10 версии 1903 или более поздней. Это первая версия Windows, которая включает в себя необходимый wsl.exeинструмент, который GCM использует для взаимодействия с Git в дистрибутивах WSL.

Рекомендуется установить последнюю версию Git для Windows , чтобы выбрать общий доступ к параметрам учета и данным между WSL и узлом Windows. Диспетчер учетных данных Git входит в состав Git для Windows, последняя версия включена в каждый новый выпуск Git для Windows. Во время установки вам будет предложено выбрать вспомогательную учетную запись с GCM, заданную по умолчанию.

Если у вас есть причина не использовать Git для Windows, вы можете установить GCM как приложение Linux в дистрибутиве WSL, но обратите внимание, что это означает, что GCM работает как приложение Linux и не может использовать функции проверки доступности или хранения данных хоста. системы Windows. Инструкции по настройке WSL без Git для Windows см. в репозиториях GCM.

Чтобы настроить GCM для использования с дистрибутивом WSL, общедоступным дистрибутивом, введите команду:

Баш

 

git config --global credential.helper "/mnt/c/Program\ Files/Git/mingw64/libexec/git-core/git-credential-manager-core.exe"

 

Примечание

Использование GCM в качестве вспомогательной функции учета данных для установки WSL Git означает, что любой набор настроек в WSL Git не посещается GCM (по умолчанию). Это связано с тем, что GCM повысился в качестве приложений Windows и поэтому будет использоваться Git для установки Windows для запроса списка. Это означает, что в Git для Windows, а также WSL Git, так как они присутствуют в разных файлах ( %USERPROFILE%\.gitconfigvs \\wsl$\distro\home\$USER\.gitconfig). Вы можете настроить WSL так, чтобы GCM использовал настройку WSL Git, но это означает, что параметры прокси-сервера будут установлены для конкретной установки WSL, а не в сочетании с другими пользователями или узлами Windows.

Git с SSH

Диспетчер учетных данных Git работает только с удаленными клиентами HTTP(S). Вы по-прежнему можете использовать Git с SSH:

  • Azure DevOps SSH
  • GitHub SSH
  • Битбакет SSH

Дополнительные настройки для Azure

Если вы планируете работать с Azure Repos или Azure DevOps, потребуются дополнительные настройки:

Баш

 

git config --global credential.https://dev.azure.com.useHttpPath true

 

Теперь любая операция Git, выполняемая в дистрибутиве WSL, будет использовать GCM. Если у вас уже есть кэшированные учетные данные для пакета, к ним будет осуществляться доступ из диспетчера учетных данных. В случае необходимости отобразится диалоговое окно с запросом учетных данных, даже если вы работаете в консоли Linux.

Совет

Если вы используете ключ GPG для обеспечения безопасности подписи кода, возможно, нужно связать ключ GPG с электронной почтой GitHub .

Добавление файла пропуска Git

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

Если вы создали новый репозиторий с помощью веб-сайта GitHub , возможны флажки типа для инициализации репозитория с помощью файла README, gitignore-файла, настроенного для конкретных проектов, и варианты добавления лицензии, если это необходимо.

Git и VS-код

Visual Studio Code включает в себя встроенную поддержку Git, включая вкладку системы управления версиями, которая будет отображать изменения и использовать различные команды Git. Широко распространена поддержка Git VS Code .

Окончание строк Git

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

Так как Windows и Linux используют разные окончания строк по умолчанию, Git может сообщать о большом количестве измененных файлов, не имеющих уникальных отличий от окончания строки. Это может быть предотвращено путем преобразования конца с помощью .gitattributesфайла или глобальной сцены Windows. Поможет документация VS Code по устранению проблем с завершением строки Git .