news 2026/10/6 2:26:58

90DaysOfDevOps 之 Git 安装与配置实战:从 Windows/Linux 环境搭建到分布式版本控制原理

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
90DaysOfDevOps 之 Git 安装与配置实战:从 Windows/Linux 环境搭建到分布式版本控制原理
  • 文档/教程

【免费下载链接】90DaysOfDevOps

This repository started out as a learning in public project for myself and has now become a structured learning map for many in the community. We have 3 years under our belt covering all things DevOps, including Principles, Processes, Tooling and Use Cases surrounding this vast topic.

项目地址:https://gitcode.com/gh_mirrors/90/90DaysOfDevOps
点击查看免费下载

本篇是 90DaysOfDevOps 挑战计划第 36 天(Day 36)的技术实战指南,源自 2022/pl/day36.md(英文原版见 2022/Days/day36.md),属于「Use Git Effectively」学习模块(见 2022/pl/README.md)的第二个里程碑。读完本篇,你将掌握:在 Windows 与 Ubuntu/Linux 上完成 Git 的安装、版本检查与升级;通过git config三层作用域配置身份、编辑器等核心参数;并深入理解 Client-Server 与 Distributed 两类版本控制模型的本质差异,为后续 Day 37 的 Git 常用命令实战打好基础。

为什么需要重新安装与配置 Git?

Git 是一款开源的跨平台版本控制工具。与大多数 Linux 环境(尤其是 Ubuntu)一样,系统可能已经预装了 Git——本仓库作者在 WSL Ubuntu 与 Windows 机器上的初始检查都证实了这一点。但有两个原因促使我们主动执行安装与配置流程:

  1. 版本可能滞后:预装版本往往不是最新版,而版本差异会带来性能、安全修复与新特性(如更快的 diff 算法、更好的 SSH 支持)的差异;
  2. 首次使用必须配置身份:Git 的每次提交都会写入user.name与user.email,未配置将无法正常提交。

因此,即使系统已装 Git,也应完成一次「检查版本 → 升级到最新 → 初始化配置」的完整流程。

安装 Git:Windows 与 Linux 双平台实操

Git 支持 Windows、Linux 与 macOS。本篇聚焦 Windows 与 Linux 两条路径。

Windows:官方安装器与 winget 两种方式

方式一:官方安装器

从 Git 官网下载最新版 Windows 安装程序,双击启动向导即可。整个安装过程非常简单,几个关键节点如下:

  • GNU 许可证协议:通读后接受即可——请记住 Git 是免费开源软件;
  • 附加组件选择:务必勾选Git Bash,它允许你在 Windows 上直接运行 bash 脚本,是 Windows 环境下使用 Git 命令行的最佳入口;
  • SSH 可执行文件:保持默认的捆绑 OpenSSH(与 Linux 章节中见到的 OpenSSH 一致),无需额外处理;
  • 实验性功能:按需启用,未启用也可在之后通过重新运行安装程序随时补上;
  • 完成:安装结束后可立即启动 Git Bash,或查看最新版本发布说明。

需要特别注意的是:Git 安装器会先卸载旧版本再安装新版本,因此无论你是首次安装还是升级,向导流程基本一致。

方式二:winget(Windows 包管理器)

winget 是 Windows 官方应用包管理器。在 PowerShell 中执行以下命令即可安装/升级 Git:

winget install --id Git.Git -e --source winget

Linux(Ubuntu/WSL):apt 与官方 PPA 两种方式

在 Ubuntu 上安装 Git 最简单的方式是 apt:

sudo apt-get install git

若你的发行版仓库中 Git 版本滞后(作者在写作时 Linux 端版本落后于 Windows 端),推荐通过官方 PPA(Personal Package Archive)获取持续更新的版本:

sudo add-apt-repository ppa:git-core/ppa -y sudo apt-get update sudo apt-get install git -y git --version

这条命令链先添加 Git 官方软件源,再刷新软件包索引,随后安装 Git,最后用git --version验证结果。

安装前与安装后:用git --version验证

无论哪个平台,安装的第一步和最后一步都是检查版本。下图展示了 Windows PowerShell 中安装前的状态:

对应地,WSL Ubuntu 终端中的初始版本检查如下:

作者写作时,Windows 最新版为2.35.1,而本机安装的是2.31.1.windows.1,Linux 端则停留在2.25.1——两者都需要升级。走完安装向导后,再次在 PowerShell 执行git --version即可确认升级成功:

Linux 端完成sudo apt-get install git后同样验证为最新版:

至此,两个平台都已运行最新版 Git,可以进入配置阶段。

配置 Git:三个作用域与五项核心设置

首次使用必须定义的设置

在第一次使用 Git 前,需要定义以下设置:

  • Name(用户名):提交时记录的作者名字;
  • Email(邮箱):提交时记录的作者邮箱,通常与代码托管平台账号一致;
  • Default Editor(默认编辑器):Git 需要你手动编辑提交信息等文本时调用的编辑器;
  • Line Ending(换行符):跨平台协作时处理 CRLF/LF 差异的策略(Windows 与 Linux 的换行符不同,正确处理可避免大量无意义 diff)。

三个配置作用域

Git 配置存在三个层级,优先级从低到高:

作用域生效范围对应命令
System该机器上的所有用户git config --system
Global当前用户的所有仓库git config --global
Local仅当前仓库git config --local(默认值)

层级越低、范围越窄的配置会覆盖范围更大的配置——例如local中的user.email会覆盖global中的同名配置。

配置示例:身份与编辑器

git config --global user.name "Michael Cade" git config --global user.email "Michael.Cade@90DaysOfDevOps.com"

以上两条命令将用户名与邮箱写入全局配置。默认编辑器因操作系统而异:在作者的 Ubuntu 机器上,未设置时默认使用nano。如需改用 Visual Studio Code 作为 Git 的默认编辑器,执行:

git config --global core.editor "code --wait"

--wait参数使 VS Code 在文件关闭前保持 Git 命令阻塞等待,确保提交信息编辑完成后流程才继续。

查看与编辑配置

若要查看全部 Git 配置,可执行:

git config --global -e

该命令会用默认编辑器打开全局配置文件。在任意机器上,这个文件都命名为.gitconfig,位于当前用户的主目录中(Windows 上即用户账户目录,例如C:\Users\<用户名>\.gitconfig;Linux 上即~/.gitconfig)。文件中以[user]、[core]等段落的 INI 风格存储全部配置,例如:

[user] name = Michael Cade email = Michael.Cade@90DaysOfDevOps.com [core] editor = code --wait

除全局文件外,仓库级配置存放在仓库内的.git/config,系统级配置存放在 Git 安装目录下的系统级配置文件中,三者的读取顺序与优先级与前述作用域一致。

Git 理论:Client-Server 与 Distributed 两种模型

本篇不仅覆盖安装配置,还从理论层面解释 Git 的设计思想。版本控制系统可分为两大类:客户端-服务器(Client-Server)模型与分布式(Distributed)模型。

Client-Server 版本控制模型

在 Git 出现之前,Client-Server 是版本控制的事实标准,典型代表是 Apache Subversion——一个诞生于 2000 年的开源版本控制系统(对应原文理论章节,详见 2022/Days/day36.md)。

该模型的核心流程是:开发者先从服务器下载源代码与文件副本到本地,修改后提交/上传回服务器。它并没有消除冲突,只是降低了冲突的复杂性,让冲突的产生与解决更可控。

典型场景推演:两名开发者同时修改同一文件,先提交者成功将改动上传到服务器;后提交者在更新(update)时触发冲突——此时他必须先拉取第一名开发者的改动,在自己的工作副本中解决冲突,然后才能完成提交。

分布式版本控制模型

Git 并非唯一的分布式版本控制系统,但它如今已是事实标准。Git 的主要优势可概括为四个词:

  • Fast(快):绝大多数操作在本地完成,无需网络往返;
  • Smart(智能):基于内容寻址与 DAG(有向无环图)的对象模型,能高效处理分支与合并;
  • Flexible(灵活):支持多种工作流(集中式、功能分支、GitFlow 等)与自定义钩子;
  • Safe & Secure(安全可靠):每次提交内容均通过 SHA-1 哈希校验,历史不可篡改。

与 Client-Server 模型最大的不同在于:每个开发者下载的是整个仓库的完整副本——包括全部提交历史、所有分支等所有内容,而非单一文件快照。因此每个开发者的本地仓库都是一份可独立工作的完整镜像,服务器不再是协作的单一瓶颈。

这一点也可以从本仓库自身得到印证:90DaysOfDevOps仓库完整保留了 2022 至 2024 三年的全部挑战文档与资源,任何社区成员 clone 后都拥有完整历史,这正是分布式模型的协作能力所在(详见 2022/README.md 与仓库根目录的 README.md)。

与前后章节的衔接

本篇是 Git 学习序列的第二站:

  • Day 35(2022/pl/day35.md)介绍了版本控制的概念与价值——跟踪项目历史、分支与合并、协作与单一事实来源,以及「版本控制不是备份」的重要提醒;
  • Day 36(本篇)完成工具落地:安装、升级与配置;
  • Day 37(2022/pl/day37.md)将进入常用命令实战(git add --help、git add -h等),并破除「Git 没有访问控制」「Git 过于臃肿」等常见误解。

建议按顺序学习:先理解理论,再完成本环境搭建,最后投入命令实操。

核心命令速查表

目的命令
检查 Git 版本git --version
Windows 安装 Gitwinget install --id Git.Git -e --source winget
Ubuntu 安装 Gitsudo apt-get install git
Ubuntu 安装最新版(PPA)sudo add-apt-repository ppa:git-core/ppa -y && sudo apt-get update && sudo apt-get install git -y
设置用户名(全局)git config --global user.name "Your Name"
设置邮箱(全局)git config --global user.email "you@example.com"
设置默认编辑器git config --global core.editor "code --wait"
查看全部全局配置git config --global -e

小结

本篇文章完整复刻并深化了 Day 36 的内容:从双平台的安装、升级与版本验证,到三层作用域下的身份与编辑器配置,再到 Client-Server 与分布式两种版本控制模型的原理对比。至此,你的机器已运行最新版 Git 并完成基础配置,下一站(Day 37)即可开始真正「上手 Git」——掌握日常开发中最常用的命令与工作流。

90DaysOfDevOps 之 Git 安装与配置实战:从 Windows/Linux 环境搭建到分布式版本控制原理

本篇是 90DaysOfDevOps 挑战计划第 36 天(Day 36)的技术实战指南,源自 2022/pl/day36.md(英文原版见 2022/Days/day36.md),属于「Use Git Effectively」学习模块(见 2022/pl/README.md)的第二个里程碑。读完本篇,你将掌握:在 Windows 与 Ubuntu/Linux 上完成 Git 的安装、版本检查与升级;通过git config三层作用域配置身份、编辑器等核心参数;并深入理解 Client-Server 与 Distributed 两类版本控制模型的本质差异,为后续 Day 37 的 Git 常用命令实战打好基础。

为什么需要重新安装与配置 Git?

Git 是一款开源的跨平台版本控制工具。与大多数 Linux 环境(尤其是 Ubuntu)一样,系统可能已经预装了 Git——本仓库作者在 WSL Ubuntu 与 Windows 机器上的初始检查都证实了这一点。但有两个原因促使我们主动执行安装与配置流程:

  1. 版本可能滞后:预装版本往往不是最新版,而版本差异会带来性能、安全修复与新特性(如更快的 diff 算法、更好的 SSH 支持)的差异;
  2. 首次使用必须配置身份:Git 的每次提交都会写入user.name与user.email,未配置将无法正常提交。

因此,即使系统已装 Git,也应完成一次「检查版本 → 升级到最新 → 初始化配置」的完整流程。

安装 Git:Windows 与 Linux 双平台实操

Git 支持 Windows、Linux 与 macOS。本篇聚焦 Windows 与 Linux 两条路径。

Windows:官方安装器与 winget 两种方式

方式一:官方安装器

从 Git 官网下载最新版 Windows 安装程序,双击启动向导即可。整个安装过程非常简单,几个关键节点如下:

  • GNU 许可证协议:通读后接受即可——请记住 Git 是免费开源软件;
  • 附加组件选择:务必勾选Git Bash,它允许你在 Windows 上直接运行 bash 脚本,是 Windows 环境下使用 Git 命令行的最佳入口;
  • SSH 可执行文件:保持默认的捆绑 OpenSSH(与 Linux 章节中见到的 OpenSSH 一致),无需额外处理;
  • 实验性功能:按需启用,未启用也可在之后通过重新运行安装程序随时补上;
  • 完成:安装结束后可立即启动 Git Bash,或查看最新版本发布说明。

需要特别注意的是:Git 安装器会先卸载旧版本再安装新版本,因此无论你是首次安装还是升级,向导流程基本一致。

方式二:winget(Windows 包管理器)

winget 是 Windows 官方应用包管理器。在 PowerShell 中执行以下命令即可安装/升级 Git:

winget install --id Git.Git -e --source winget

Linux(Ubuntu/WSL):apt 与官方 PPA 两种方式

在 Ubuntu 上安装 Git 最简单的方式是 apt:

sudo apt-get install git

若你的发行版仓库中 Git 版本滞后(作者在写作时 Linux 端版本落后于 Windows 端),推荐通过官方 PPA(Personal Package Archive)获取持续更新的版本:

sudo add-apt-repository ppa:git-core/ppa -y sudo apt-get update sudo apt-get install git -y git --version

这条命令链先添加 Git 官方软件源,再刷新软件包索引,随后安装 Git,最后用git --version验证结果。

安装前与安装后:用git --version验证

无论哪个平台,安装的第一步和最后一步都是检查版本。下图展示了 Windows PowerShell 中安装前的状态:

对应地,WSL Ubuntu 终端中的初始版本检查如下:

作者写作时,Windows 最新版为2.35.1,而本机安装的是2.31.1.windows.1,Linux 端则停留在2.25.1——两者都需要升级。走完安装向导后,再次在 PowerShell 执行git --version即可确认升级成功:

Linux 端完成sudo apt-get install git后同样验证为最新版:

至此,两个平台都已运行最新版 Git,可以进入配置阶段。

配置 Git:三个作用域与五项核心设置

首次使用必须定义的设置

在第一次使用 Git 前,需要定义以下设置:

  • Name(用户名):提交时记录的作者名字;
  • Email(邮箱):提交时记录的作者邮箱,通常与代码托管平台账号一致;
  • Default Editor(默认编辑器):Git 需要你手动编辑提交信息等文本时调用的编辑器;
  • Line Ending(换行符):跨平台协作时处理 CRLF/LF 差异的策略(Windows 与 Linux 的换行符不同,正确处理可避免大量无意义 diff)。

三个配置作用域

Git 配置存在三个层级,优先级从低到高:

作用域生效范围对应命令
System该机器上的所有用户git config --system
Global当前用户的所有仓库git config --global
Local仅当前仓库git config --local(默认值)

层级越低、范围越窄的配置会覆盖范围更大的配置——例如local中的user.email会覆盖global中的同名配置。

配置示例:身份与编辑器

git config --global user.name "Michael Cade" git config --global user.email "Michael.Cade@90DaysOfDevOps.com"

以上两条命令将用户名与邮箱写入全局配置。默认编辑器因操作系统而异:在作者的 Ubuntu 机器上,未设置时默认使用nano。如需改用 Visual Studio Code 作为 Git 的默认编辑器,执行:

git config --global core.editor "code --wait"

--wait参数使 VS Code 在文件关闭前保持 Git 命令阻塞等待,确保提交信息编辑完成后流程才继续。

查看与编辑配置

若要查看全部 Git 配置,可执行:

git config --global -e

该命令会用默认编辑器打开全局配置文件。在任意机器上,这个文件都命名为.gitconfig,位于当前用户的主目录中(Windows 上即用户账户目录,例如C:\Users\<用户名>\.gitconfig;Linux 上即~/.gitconfig)。文件中以[user]、[core]等段落的 INI 风格存储全部配置,例如:

[user] name = Michael Cade email = Michael.Cade@90DaysOfDevOps.com [core] editor = code --wait

除全局文件外,仓库级配置存放在仓库内的.git/config,系统级配置存放在 Git 安装目录下的系统级配置文件中,三者的读取顺序与优先级与前述作用域一致。

Git 理论:Client-Server 与 Distributed 两种模型

本篇不仅覆盖安装配置,还从理论层面解释 Git 的设计思想。版本控制系统可分为两大类:客户端-服务器(Client-Server)模型与分布式(Distributed)模型。

Client-Server 版本控制模型

在 Git 出现之前,Client-Server 是版本控制的事实标准,典型代表是 Apache Subversion——一个诞生于 2000 年的开源版本控制系统(对应原文理论章节,详见 2022/Days/day36.md)。

该模型的核心流程是:开发者先从服务器下载源代码与文件副本到本地,修改后提交/上传回服务器。它并没有消除冲突,只是降低了冲突的复杂性,让冲突的产生与解决更可控。

典型场景推演:两名开发者同时修改同一文件,先提交者成功将改动上传到服务器;后提交者在更新(update)时触发冲突——此时他必须先拉取第一名开发者的改动,在自己的工作副本中解决冲突,然后才能完成提交。

分布式版本控制模型

Git 并非唯一的分布式版本控制系统,但它如今已是事实标准。Git 的主要优势可概括为四个词:

  • Fast(快):绝大多数操作在本地完成,无需网络往返;
  • Smart(智能):基于内容寻址与 DAG(有向无环图)的对象模型,能高效处理分支与合并;
  • Flexible(灵活):支持多种工作流(集中式、功能分支、GitFlow 等)与自定义钩子;
  • Safe & Secure(安全可靠):每次提交内容均通过 SHA-1 哈希校验,历史不可篡改。

与 Client-Server 模型最大的不同在于:每个开发者下载的是整个仓库的完整副本——包括全部提交历史、所有分支等所有内容,而非单一文件快照。因此每个开发者的本地仓库都是一份可独立工作的完整镜像,服务器不再是协作的单一瓶颈。

这一点也可以从本仓库自身得到印证:90DaysOfDevOps仓库完整保留了 2022 至 2024 三年的全部挑战文档与资源,任何社区成员 clone 后都拥有完整历史,这正是分布式模型的协作能力所在(详见 2022/README.md 与仓库根目录的 README.md)。

与前后章节的衔接

本篇是 Git 学习序列的第二站:

  • Day 35(2022/pl/day35.md)介绍了版本控制的概念与价值——跟踪项目历史、分支与合并、协作与单一事实来源,以及「版本控制不是备份」的重要提醒;
  • Day 36(本篇)完成工具落地:安装、升级与配置;
  • Day 37(2022/pl/day37.md)将进入常用命令实战(git add --help、git add -h等),并破除「Git 没有访问控制」「Git 过于臃肿」等常见误解。

建议按顺序学习:先理解理论,再完成本环境搭建,最后投入命令实操。

核心命令速查表

目的命令
检查 Git 版本git --version
Windows 安装 Gitwinget install --id Git.Git -e --source winget
Ubuntu 安装 Gitsudo apt-get install git
Ubuntu 安装最新版(PPA)sudo add-apt-repository ppa:git-core/ppa -y && sudo apt-get update && sudo apt-get install git -y
设置用户名(全局)git config --global user.name "Your Name"
设置邮箱(全局)git config --global user.email "you@example.com"
设置默认编辑器git config --global core.editor "code --wait"
查看全部全局配置git config --global -e

小结

本篇文章完整复刻并深化了 Day 36 的内容:从双平台的安装、升级与版本验证,到三层作用域下的身份与编辑器配置,再到 Client-Server 与分布式两种版本控制模型的原理对比。至此,你的机器已运行最新版 Git 并完成基础配置,下一站(Day 37)即可开始真正「上手 Git」——掌握日常开发中最常用的命令与工作流。

  • 文档/教程

【免费下载链接】90DaysOfDevOps

This repository started out as a learning in public project for myself and has now become a structured learning map for many in the community. We have 3 years under our belt covering all things DevOps, including Principles, Processes, Tooling and Use Cases surrounding this vast topic.

项目地址:https://gitcode.com/gh_mirrors/90/90DaysOfDevOps
点击查看免费下载

相关推荐

上一篇:GHelper:华硕笔记本轻量化控制中心的完整使用指南
下一篇:tsParticles MeteorImpact 配色面板:以橙红流星撞击色调快速打造粒子特效背景

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/6 2:26:03

【SI_IOP 01】深入掌握以太网100BASE-T1/1000BASE-T1 IOP测试

1. IOP概述 以太网 IOP(Interoperability Test,互操作性测试),特指车载以太网物理层 IOP,核心是验证不同厂商 PHY(收发器)与 ECU 间能否稳定建链、协同工作,遵循OPEN Alliance TC8规范(100/1000BASE-T1)。 目的:确保多供应商车载以太网设备(PHY/ECU)在真实工况下…

作者头像 李华
网站建设 2026/10/6 2:24:58

基于Spring Boot的玉林地区农产品销售平台的设计与开发

一、选题的目的和意义本选题的核心目的&#xff0c;是解决百色市非遗文化宣传与管理中的现存痛点&#xff0c;搭建一个集宣传、展示、管理、互动于一体的数字化平台[1]。当前百色市拥有丰富的非遗资源&#xff0c;但存在传播渠道单一、信息分散、管理模式传统等问题&#xff0c…

作者头像 李华
网站建设 2026/10/6 2:19:19

uBlock Origin:免费开源的轻量广告拦截插件

uBlock Origin&#xff1a;免费开源的轻量广告拦截插件 【免费下载链接】uBlock uBlock Origin - An efficient blocker for Chromium and Firefox. Fast and lean. 项目地址: https://gitcode.com/GitHub_Trending/ub/uBlock 点开一个新闻页&#xff0c;标题还没读完&a…

作者头像 李华