开始在适用于 Linux 的 Windows 子系统上使用 Git

news2024/11/17 10:52:56

目录

  • Git 可以安装在 Windows 和 WSL 上
  • 安装 Git
  • Git 配置文件设置
  • Git 凭据管理器设置
  • 使用 SSH 的 Git
  • Azure 的其他配置
  • 添加 Git Ignore 文件
  • Git 和 VS Code
  • Git 行尾
  • 其他资源

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

Git 可以安装在 Windows 和 WSL 上

一个重要的注意事项:启用 WSL 并安装 Linux 发行版时,将安装与计算机上的 Windows NTFS C:\ 驱动器分离的新文件系统。 在 Linux 中,驱动器没有字母。 将为它们提供装入点。 在 WSL 的情况下,文件系统 / 的根是根分区或文件夹的装入点。 并非 / 下的所有内容都是相同的驱动器。 例如,在我的笔记本电脑上,我安装了两个版本的 Ubuntu(20.04 和 18.04)以及 Debian。 如果我打开这些发行版,使用命令 cd ~ 选择主目录,然后输入命令 explorer.exe .,Windows 文件资源管理器将打开并显示该发行版的目录路径。
在这里插入图片描述
在这里插入图片描述
需要在要使用它的每个文件系统上安装 Git。
在这里插入图片描述

安装 Git

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

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

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

sudo apt-get install git

在这里插入图片描述

Git 配置文件设置

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

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

使用以下命令设置电子邮件(用你喜欢的电子邮件替换“youremail@domain.com”):

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

在这里插入图片描述
建议使用双因素身份验证 (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"

在这里插入图片描述

使用 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 控制台中也是如此。
在这里插入图片描述

添加 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 工具 - 凭据存储

参考链接:https://learn.microsoft.com/zh-cn/windows/wsl/tutorials/wsl-git

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/636695.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

java使用aspose.pdf或者spire.pdf 将pdf文件转word,实测

1. aspose.pdf aspose.pdf不是破解版的只能转3页&#xff0c;所以我弄了个破解版&#xff0c; aspose.pdf破解版在网上都有破解方法也比较简单&#xff0c;这里就不说了&#xff0c;直接引入破解版的jar包&#xff0c;在这里我用的是aspose-pdf-21.11.jar版本&#xff0c;代码…

【电路】电路与电子技术基础 课堂笔记 第9章 集成运算放大器基础

本章的研究对象是集成运算放大器的应用&#xff0c; 主要关注如何利用理想运放的特点&#xff0c;分析放大电路&#xff0c; 不讨论继承运放的工作原理和内部结构。 9.3 集成运放的主要参数与选择 9.4 集成运放的应用 集成运放应用于信号运算&#xff0c;信号处理&#xff…

调用阿里API实现手机号归属地查询

调用阿里API实现手机号归属地查询 1&#xff0e;作者介绍2&#xff0e;号码归属地介绍2.1 什么是手机号码归属地&#xff1f;2.2 为什么需要手机号码归属地&#xff1f;2.3 手机号码归属地查询对个人的运用 3&#xff0e;调用阿里API实现手机号归属地查询3.1阿里API调用3.2补充…

BYC30W-600P-ASEMI代理NXP快恢复二极管BYC30W-600P

编辑&#xff1a;ll BYC30W-600P-ASEMI代理NXP快恢复二极管BYC30W-600P 型号&#xff1a;BYC30W-600P 品牌&#xff1a;NXP/恩智浦 封装&#xff1a;TO-247-2L 最大漏源电流&#xff1a;30A 漏源击穿电压&#xff1a;600V 引脚数量&#xff1a;2 恢复时间&#xff1a;2…

JavaScript:获取当前日期、星期、时间 | Data对象

文章目录 1 Date对象2 代码示例3 获取 yyyy-MM-dd 格式的日期 1 Date对象 JavaScript 中的 Date 对象表示日期和时间。Date 对象基于自 1970 年 1 月 1 日 00:00:00 UTC&#xff08;协调世界时&#xff09;以来的毫秒数。以下是 Date 对象的一些常用方法和属性。 getFullYear…

H5页面这样测,业务方反馈 0 Bug!

部门最近的H5相关项目挺多的&#xff0c;由于团队之前接触的大多是Web项目&#xff0c;很少涉及H5&#xff0c;想着给团队成员培训下&#xff0c;减少漏测率&#xff0c;于是整理了一个文档。 别说&#xff0c;效果还挺不错的&#xff0c;连着上线6个版本&#xff0c;都没有收…

Python3数据分析与挖掘建模(10)多因子:复合分析-交叉分析与实现示例

1. 复合分析 1.1 概述 复合分析&#xff08;Factorial Analysis&#xff09;是一种统计分析方法&#xff0c;用于研究多个因素对观测结果的影响&#xff0c;并探究各个因素之间的相互作用效应。 在复合分析中&#xff0c;研究者会选择多个因素&#xff08;也称为处理变量或独…

路由器WiFi密码怎么设置?这样做可以快速设置!

案例&#xff1a;我在外面租房&#xff0c;买了一个路由器&#xff0c;为了不让别人使用&#xff0c;我想设置一个密码。但我不知道如何操作。路由器怎么设置密码&#xff1f;求方法分享&#xff01; 如今&#xff0c;Wi-Fi已成为日常生活中不可或缺的一部分。为了保障个人和家…

4. LockSupport与线程中断

4.1 线程中断机制 4.1.1 从阿里蚂蚁金服面试题讲起 Java.lang.Thread下的三个方法: ● 如何中断一个运行中的线程&#xff1f; ● 如何停止一个运行中的线程&#xff1f; 4.1.2 什么是中断机制 ● 首先&#xff0c;一个线程不应该由其他线程来强制中断或停止&#xff0c;而是应…

排水管网监测,万宾排水管网在线监测系统

城市排水管网是保障城市环境卫生的重要基础设施。然而&#xff0c;传统的排水管网管理方式存在许多问题.通过排水管网在线监测系统的建设&#xff0c;可以实现对管网上窨井井盖状态、管网液位、管网流量、管网水质等数据采集&#xff0c;实时掌握排水管网运行状况&#xff0c;为…

@足智多谋的你,联网智能门锁试卷(2023高考版)正式发布!

千淘万漉虽辛苦&#xff0c;吹尽狂沙始到金。2023年的高考已于上周正式结束。湖南省高考成绩和录取控制分数线将在6月25日正式公布。广大学子历经一千多个日夜的努力&#xff0c;即将在这一天见证结果。 其实&#xff0c;当我们真正走出校园才发现&#xff0c;学无止境&#x…

敏捷项目管理

在了解敏捷项目管理之前&#xff0c;我们先看下敏捷和传统项目管理有什么区别。 传统项目管理&#xff1a;阶段式项目管理模式。 制定详细的计划和步骤&#xff0c;按计划执行&#xff0c;直到所有的计划执行全部结束。 敏捷项目管理模式&#xff0c;从愿景和高价值的目标出发…

V5.0.X版本 EMQX安装、卸载 以及使用

V5.0.X版本 EMQX安装、卸载 以及使用 一、卸载二、下载安装2.1 下载2.2 安装2.2.1 rpm安装2.2.2 tar安装 2.3 测试启动 三、EMQX使用 回到目录    回到末尾 EMQX为大规模分布式物联网 MQTT 消息服务器。提供高效可靠连接海量物联网设备&#xff0c;实时处理分发消息与事件流数…

高级信息系统项目管理师资料分享

&#x1f495;&#x1f495; 推荐&#xff1a;体系化学习Java&#xff08;Java面试专题&#xff09; 文章目录 1. 高级信息系统项目管理师资料分享2023年5月12日2023年4月10日2023年3月28日2023.5高项精讲 2023备考高级信息系统项目管理师资料 1. 高级信息系统项目管理师资料分…

超级实用!Python 3.6帮您提升编码效率的一个新的小特性 ——f{}

Python3.6 格式化字符串的新用法 在python 3.6格式化字符串时&#xff0c;增加了一个非常实用的新特性&#xff0c;文本以“f”或者“F”为前缀加上{}&#xff0c;可以实现类似于%和str.format的功能&#xff0c;但与他们相比更加易读和不易不错。使用也非常方便&#xff0c;以…

3分钟教你怎样搭建属于你的私有仓库

上一节我们讲了实战项目&#xff1a;docker部署springboot项目&#xff0c;我介绍了镜像的基本操作和镜像的原理以及如何利用docker部署springboot项目&#xff0c;那么有了镜像&#xff0c;我们应该如何更好地存储和分发镜像呢&#xff1f;答案就是今天的主角——Docker 的镜像…

如何能够系统的自学网络安全(黑客)?

一、自学网络安全学习的误区和陷阱 1.不要试图以编程为基础的学习开始学习 我在之前的回答中&#xff0c;我都一再强调不要以编程为基础再开始学习网络安全&#xff0c;一般来说&#xff0c;学习编程不但学习周期长&#xff0c;而且实际向安全过渡后可用到的关键知识并不多 一…

ResultMap使用

要解决的问题&#xff1a;属性名和字段名不一致 1.1 查询为null问题 查看之前的数据库的字段名 Java中的实体类设计 public class User { private int id; //id private String name; //姓名 private String password; //密码和数据库不一样&#xff01; //构造 //set/get /…

容器(第六篇)docker-harbor

什么是Harbor Harbor 是 VMware 公司开源的企业级 Docker Registry 项目&#xff0c;其目标是帮助用户迅速搭建一个企业级的 Docker Registry 服务。 Harbor以 Docker 公司开源的 Registry 为基础&#xff0c;提供了图形管理 UI 、基于角色的访问控制(Role Based AccessContr…

常用的decap MOS电容版图介绍

常用的两种decap版图如下&#xff1a; 图a 图b 很多人认为decap电容就是source drain 衬底接地做下极板&#xff0c;poly gate接电源做上极板&#xff0c;这种认同是错误的。 我们先把MOS电容拆分成pmos和nmos去看。对于图a&#xff0c;poly没有接任何东西&#xff0c;pmos部…