在wsl中使用git

Git 是最常用的版本控制系统。 使用 Git,可以跟踪对文件所做的更改,以便记录已完成的操作,并能够在需要时还原到文件的早期版本。 Git 还可以简化协作,使多个人员所做的更改全部合并到一个源中。

Git 可以安装在 Windows 和 WSL 上

由于windows与wsl,wsl与wsl之间都是相互隔离的,所以需要在要使用它的每个文件系统上分别安装 Git。

图片[1] - 在wsl中使用git - 正则时光

安装 Git

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

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

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

sudo apt-get install git

Git 配置文件设置

git config --global user.name "Your Name"                # 设置git提交的用户名
git config --global user.email "youremail@domain.com"    # 设置git提交的邮箱

Git 凭据管理器设置

Git 凭据管理器 (GCM) 是在 .NET 上构建的安全的 Git 凭据帮助程序。建议安装最新的 Git for Windows以便在 WSL 和 Windows 主机之间共享凭据和设置。

如果你有理由不安装 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

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

否则,如果版本为 < v2.36.1,请输入此命令:

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

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

总结就是说,windows10/11中安装的git,默认自带GCM。在windows中配置git凭据,将会作用于所有wsl子系统中的git。而如果不使用git for windows,使用GCM与WSL Git配置,那么git配置将只属于配置的子系统本身。

Git 与 SSH

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

Azure 的其他配置

若要使用 Azure Repos 或 Azure DevOps,需要一些额外配置:

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

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

添加 Git Ignore 文件

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

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

Git 和 VS Code

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

Git 行尾

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

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

© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享