开始在 WSL 上使用 Git

您所在的位置:网站首页 idea中设置git账号密码 开始在 WSL 上使用 Git

开始在 WSL 上使用 Git

2023-07-14 05:29| 来源: 网络整理| 查看: 265

开始在适用于 Linux 的 Windows 子系统上使用 Git 项目 03/21/2023

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 访问主文件夹的路径 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

提示

如果想从 WSL 发行版命令行访问 Windows 文件目录,而不是使用 C:\Users\username,则需使用 /mnt/c/Users/username 访问该目录,因为 Linux 发行版将 Windows 文件系统视为已装载的驱动器。

需要在要使用它的每个文件系统上安装 Git。

安装 Git

大多数适用于 Linux 的 Windows 子系统发行版已安装了 Git,但是,可能需要将其更新到最新版本。 还需要设置 git 配置文件。

若要安装 Git,请参阅适用于 Linux 的 Git 下载站点。 每个 Linux 发行版都有自己的包管理器和安装命令。

对于 Ubuntu/Debian 中最新的稳定 Git 版本,请输入命令:

sudo apt-get install git

注意

如果尚未安装适用于 Windows 的 Git,可能需要进行安装。

Git 配置文件设置

若要设置 Git 配置文件,请打开正在使用的发行版的命令行,然后使用以下命令设置名称(将“Your Name”替换为你的首选用户名):

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

使用以下命令设置电子邮件(用你喜欢的电子邮件替换“[email protected]”):

git config --global user.email "[email protected]"

提示

如果你还没有 GitHub 帐户,则可以在 GitHub 上注册一个帐户。 如果以前从未使用过 Git,则 GitHub 指南可以帮助入门。 如果需要编辑 Git 配置,则可以使用内置文本编辑器(如 nano:nano ~/.gitconfig)来执行此操作。

建议使用双因素身份验证 (2FA) 保护你的帐户。

Git 凭据管理器设置

Git 凭据管理器 (GCM) 是在 .NET 上构建的安全 Git 凭据帮助程序,可用于 WSL1 和 WSL2。 它支持对 GitHub 存储库、Azure DevOps、Azure DevOps Server和 Bitbucket 进行多重身份验证。

GCM 集成到 GitHub 等服务的身份验证流中,并在向托管提供商进行身份验证后,请求新的身份验证令牌。 然后,它会将令牌安全地存储在 Windows 凭据管理器中。 首次之后,可以使用 Git 与托管提供程序通信,而无需重新进行身份验证。 它将只需访问 Windows 凭据管理器中的令牌。

若要将 GCM 与 WSL 配合使用,必须Windows 10版本 1903 或更高版本。 这是第一个版本的 Windows,其中包含 GCM 用于与 WSL 分发版中的 Git 互操作所需的 wsl.exe 工具。

建议安装 最新的 Git for Windows ,以便在 WSL 和 Windows 主机之间共享凭据 & 设置。 Git 凭据管理器包含在 Git for Windows 中,最新版本包含在每个新的 Git for Windows 版本中。 在安装过程中,系统将要求你选择一个凭据帮助程序,并将 GCM 设置为默认值。

如果你有理由不安装 Git for Windows,可以直接在 WSL 分发版中将 GCM 作为 Linux 应用程序安装,但请注意,这样做意味着 GCM 作为 Linux 应用程序运行,不能利用主机 Windows 操作系统的身份验证或凭据存储功能。 有关如何在没有 Git for Windows 的情况下配置 WSL 的说明,请参阅 GCM 存储库。

若要设置 GCM 以与 WSL 分发一起使用,请打开分发版并输入以下命令:

如果安装的 GIT 为 >= v2.39.0

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

如果安装的 GIT 为 >= v2.36.1,则为 else

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

如果版本为 < v2.36.1,请输入以下命令:

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

注意

使用 GCM 作为 WSL Git 安装的凭据帮助程序意味着默认情况下,GCM 不遵循 WSL Git 中的任何配置集, (默认情况下) 。 这是因为 GCM 作为 Windows 应用程序运行,因此将使用适用于 Windows 安装的 Git 来查询配置。 这意味着 GCM 的代理设置等内容需要在 Git for Windows 和 WSL Git 中设置,因为它们存储在不同文件中 (%USERPROFILE%\.gitconfig 与 \\wsl$\distro\home\$USER\.gitconfig) 。 可以配置 WSL,以便 GCM 将使用 WSL Git 配置,但这意味着代理设置对于特定 WSL 安装是唯一的,不会与他人或 Windows 主机共享。

使用 SSH 的 Git

Git 凭据管理器仅适用于 HTTP (S) 远程。 你仍然可以将 Git 与 SSH 配合使用:

Azure DevOps SSH GitHub SSH Bitbucket SSH Azure 的其他配置

如果打算使用 Azure Repos 或 Azure DevOps,则需要其他一些配置:

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

现在,在 WSL 分发中执行的任何 git 操作都将使用 GCM。 如果已为主机缓存凭据,那么它会从凭据管理器访问这些凭据。 如果尚未缓存凭据,你将收到一个请求凭据的对话响应,即使你处于 Linux 控制台中也是如此。

提示

如果使用 GPG 密钥来确保代码签名安全,可能需要将 GPG 密钥与 GitHub 电子邮件相关联。

添加 Git Ignore 文件

我们建议向项目添加 .gitignore 文件。 GitHub 提供了一系列有用的 .gitignore 模板,其中包含根据你的用例组织的推荐 .gitignore 文件设置。 例如,此处是 GitHub 用于 Node.js 项目的默认 gitignore 模板。

如果你选择使用 GitHub 网站创建新的存储库,则会出现可用于使用自述文件初始化存储库的复选框,设置用于特定项目类型的 .gitignore 文件,以及用于添加许可证(如果需要)的选项。

Git 和 VS Code

Visual Studio Code 内置了对 Git 的支持,包括一个源代码控制选项卡,用于显示更改和处理各种 git 命令。 详细了解 VS Code 的 Git 支持。

Git 行尾

如果在 Windows、WSL 或容器之间使用相同的存储库文件夹,请确保设置一致的行尾。

由于 Windows 和 Linux 使用不同的默认行尾,因此 Git 可能会报告大量修改后的文件,这些文件除了行尾之外没有任何区别。 为防止发生这种情况,可以使用 .gitattributes 文件或在 Windows 端全局禁用行尾转换。 请参阅此 VS Code 文档,了解如何解决 Git 行尾问题。

其他资源 WSL & VS Code GitHub 学习实验室:在线课程 Git 可视化工具 Git 工具 - 凭据存储


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3