一、Git 诞生与核心优势
1. Git 的由来
1991 年 Linus 创建 Linux 系统,早期全球开发者通过邮件发送代码补丁,Linus 手动合并,效率极低。 当时主流工具 CVS/SVN 属于集中式 ,必须联网、速度慢;商用版本控制软件收费,不符合开源理念。 2002 年 Linux 社区短暂免费使用 BitKeeper,2005 年双方授权破裂,Linus 仅用两周 C 语言写出 Git,一个月内 Linux 项目全量切换 Git 管理代码。 2008 年 GitHub 上线,免费托管开源项目,Git 彻底成为行业标准。

2. 集中式 VS 分布式版本控制
(1)集中式 CVCS(SVN/CVS)
架构:单一中央服务器存储全部版本,所有人联网拉取、提交代码。 缺陷:
- 服务器单点故障,宕机后所有人无法提交代码;
- 服务器硬盘损坏若无备份,项目所有历史版本永久丢失;
- 离线环境无法提交、查看历史、回退版本,断网仅能修改代码。

(2)分布式 DVCS(Git)
架构:每个人本地完整克隆一份仓库全量历史,远程服务器仅作为同步中转。 优势:
- 无单点故障:服务器损坏,任意开发者本地仓库完整备份,可用来恢复项目;
- 绝大多数操作在本地执行,无需联网,离线环境可提交、回退、查看历史;
- 分支创建、合并速度极快,支持多人并行开发。

3. Git 独特存储机制:快照而非差异对比
SVN/CVS 存储逻辑
每次版本只记录文件修改的差值,追溯历史需要叠加所有差异,效率偏低。

Git 存储逻辑
每次提交生成完整文件快照;文件无修改时仅保留快照引用,不会重复存储,版本切换、历史查询速度极快。

4. 核心特点总结
- 分布式架构,本地拥有完整仓库,支持离线操作;
- 快照存储模型,版本操作性能远超 SVN;
- 分支轻量级,创建与合并几乎无性能损耗;
- 完全开源免费,Gitee/GitHub 生态完善。
二、Windows 系统 Git 完整安装教程(避坑指南)
1. 安装前置要求
- 安装路径禁止中文、空格 ,推荐
D:\install\Git; - 普通 Intel/AMD 电脑下载
64-bit.exe安装包,ARM 架构轻薄本选择 arm64 版本。

2. 关键步骤选项推荐(开发最优配置)
步骤 1:默认编辑器选择
新手不推荐 Vim,下拉选择Use Visual Studio Code as Git's default editor;没有安装 VSCode 可暂时选择 Vim,后续通过命令修改。

步骤 2:PATH 环境变量(最重要)
选择第二项:Use Git from the Windows Command Prompt 作用:CMD、PowerShell、IDEA、VSCode 等工具都能识别 git 命令,日常开发必备。

步骤 3:HTTPS 加密库
保持默认Use the OpenSSL library,适配 Gitee/GitHub 远程仓库。

步骤 4:换行符转换
默认Checkout Windows-style, commit Unix-style line endings,Windows 开发标准配置。

步骤 5:终端、附加功能一路默认
终端选择 MinTTY,附加功能全部勾选,直接点击 Install 开始安装。


3. 安装完成验证
打开 CMD 或者 Git Bash,输入如下命令,正常输出版本号即代表安装成功:
bash
git --version
4. 全局用户名邮箱配置
所有代码提交记录都会绑定该信息,全局只需要配置一次永久生效:
git config --global user.name "你的姓名"
git config --global user.email "你的邮箱"
# 查看全部全局配置
git config --global -l
三、Git 仓库四大核心区域(底层原理)
1. 四大区域概念
- 工作区(Workspace) 项目文件夹中肉眼可见的所有文件,日常编写代码的位置;
- 暂存区(Stage/Index) 对应
.git/index隐藏文件,临时存放待提交的修改,相当于中转站; - 本地版本库(Repository) 项目根目录隐藏文件夹
.git,存储所有历史提交快照、分支、版本记录; - 远程仓库(Remote) Gitee/GitLab/GitHub 云端仓库,用于团队多人同步代码。
2. 核心指针 HEAD
HEAD 永远指向当前正在操作的分支,切换分支时 HEAD 同步移动;版本回退本质就是移动 HEAD 指针。
3. 完整开发工作流
git clone:克隆远程完整仓库到本地;- 在工作区修改代码;
git add:将工作区文件提交至暂存区;git commit:把暂存区快照存入本地版本库;git push:将本地版本同步到远程仓库;git pull:拉取远程最新代码合并到本地。
四、本地仓库基础命令实操(高频全套)
1. 创建本地仓库
-
新建空文件夹,右键选择
Git Bash Here打开终端; -
初始化 git 仓库,自动生成隐藏
.git文件夹:git init
2. 文件追踪流程:工作区→暂存区→本地仓库
(1)查看文件状态
git status
红色:未跟踪文件(工作区新建文件);绿色:文件已加入暂存区,等待提交。
(2)git add 添加文件到暂存区
# 添加单个文件
git add readme.txt
# 添加多个文件
git add test1.txt test2.txt
# 添加当前目录所有新增/修改文件(开发高频)
git add .
# 撤销暂存,文件退回工作区
git rm --cached readme.txt
(3)git commit 提交快照到本地版本库
-m 参数必须填写提交备注,清晰描述本次修改内容:
bash
git commit -m "首次提交,新增readme文档"
3. 丢弃工作区未提交修改
文件修改完成,但还没有 add、commit,一键恢复到上次提交版本:
# 旧版本写法
git checkout -- readme.txt
# Git新版推荐写法
git restore readme.txt
4. 版本回退(核心命令)
(1)查看所有提交日志
# 完整详细日志
git log
# 简洁单行日志
git log --pretty=oneline
# 所有操作记录,用于找回丢失的版本号
git reflog
(2)回退版本
# 回退到上一个版本
git reset --hard HEAD^
# 回退到往上100个版本
git reset --hard HEAD~100
# 根据版本号精准回退(推荐方式)
git reset --hard 8d95a43
5. 文件删除操作
# 删除文件并加入暂存区
git rm test.txt
# 将删除操作提交到版本库
git commit -m "删除无用测试文件"
# 误删文件恢复(版本库存在即可找回)
git reset HEAD test.txt
git checkout -- test.txt
6. git diff 对比文件差异
# 工作区 VS 暂存区
git diff
# 暂存区 VS 本地版本库
git diff --cached
# 工作区 VS 当前最新版本(HEAD)
git diff HEAD
结语
本文覆盖 Git 底层原理、Windows 安装避坑、四大存储区域、本地仓库全套操作。后续章节可以继续学习 Git 分支管理、冲突解决、远程仓库 Gitee 联动实操。
# 全局基础配置
git config --global user.name/email
# 仓库初始化
git init
# 文件管理核心
git add . / git commit -m "" / git status
# 版本回退
git log / git reflog / git reset --hard
# 丢弃本地修改
git restore / git checkout --
# 文件差异对比
git diff