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


Начало работы с Git на подсистема Windows для Linux

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

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

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

Дистрибутив Linux Путь к Windows для доступа к домашней папке
Ubuntu 20.04 \\wsl$\Ubuntu-20.04\home\username
Ubuntu 18.04 \\wsl$\Ubuntu-18.04\home\username
Debian \\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 Download for 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 = >версия 2.39.0

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

else, если установлен >GIT = версия 2.36.1

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

else, если версия версии < 2.36.1 введите следующую команду:

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

Примечание.

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

Git с SSH

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

Дополнительная конфигурация для Azure

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

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

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

Совет

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

Добавление файла Git Ignore

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

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

Git и VS Code

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

Конец строки Git

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

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

Дополнительные ресурсы