Git 从 0 到 1 完全教程:项目实战级掌握
我会像老师上课一样,从最基础的概念讲起,每一步都配可直接复制的命令和实际项目场景,学完就能直接在团队项目中使用。
第 1 课:Git 到底是什么?为什么必须学?
1.1 什么是 Git
Git 是一个分布式版本控制系统(Distributed Version Control System),由 Linux 之父 Linus Torvalds 于 2005 年开发。
简单来说,Git 的作用就是:
- 帮你记录代码的每一次修改
- 可以随时回退到任意历史版本
- 多人同时开发不会互相覆盖代码
- 即使离线也能正常工作,联网后再同步
一个简单例子
假设你正在开发一个博客系统:
第一天:
blog-v1
第二天增加登录功能:
blog-v2
第三天修复 Bug:
blog-v3
第四天修改页面:
blog-v4-final
第五天:
blog-v4-final-final
第六天:
blog-v4-final-final-真的不改了
此时你会发现:
- 不知道哪个版本最新
- 不知道哪里改过
- 删除旧版本又怕找不回来
- 文件夹越来越多
而 Git 会自动帮你管理这些版本。
你只需要:
git commit -m "完成登录功能"
git commit -m "修复密码验证Bug"
git commit -m "优化首页布局"
Git 就会自动保存每一次修改记录。
1.2 为什么不用“复制文件夹”?
很多初学者最开始都是这样管理代码:
项目
├── 项目v1
├── 项目v2
├── 项目v3
├── 项目最终版
├── 项目最终版2
└── 项目最终版真的不改了
看起来能解决问题。
实际上问题非常大。
| 方式 | 存在的问题 | Git 如何解决 |
|---|---|---|
| 复制文件夹 | 版本混乱 | 自动管理所有版本 |
| 手动备份 | 占用大量磁盘空间 | 增量存储 |
| 多人协作 | 容易覆盖代码 | 分支开发 |
| 查找历史修改 | 几乎不可能 | 一键查看历史 |
| 回退版本 | 非常麻烦 | 一条命令完成 |
实际开发场景
假设项目中有三个人:
- 张三开发登录功能
- 李四开发注册功能
- 王五修复 Bug
如果直接共享代码:
登录功能版.zip
注册功能版.zip
Bug修复版.zip
最终谁的代码才是正确的?
没人知道。
而 Git 可以让三个人分别开发:
main
├── login
├── register
└── bugfix
最后再统一合并。
不会互相覆盖代码。
1.3 Git 的核心思想
Git 最重要的一件事:
记录变化(Track Changes)
例如:
int age = 18;
修改后:
int age = 20;
Git 不仅知道文件变了。
还知道:
- 哪一行变了
- 谁修改的
- 什么时候修改的
- 为什么修改的
这也是 Git 能够实现版本回退的原因。
1.4 Git 的四个工作区域(重点)
这是整个 Git 学习过程中最重要的知识点。
以后所有命令都围绕它展开。
工作区
↓
暂存区
↓
本地仓库
↓
远程仓库
完整流程:
Workspace
↓ git add
Stage
↓ git commit
Repository
↓ git push
Remote Repository
1)工作区(Workspace)
工作区就是你平时写代码的地方。
例如:
blog-project
├── index.html
├── login.html
├── user.java
└── pom.xml
你看到的这些文件都属于工作区。
修改代码时:
System.out.println("Hello");
改成:
System.out.println("Hello Git");
此时修改只存在于工作区。
Git 还没有正式记录。
2)暂存区(Stage / Index)
暂存区可以理解为:
提交前的购物车
例如:
git add user.java
执行后:
工作区 → 暂存区
此时 Git 知道:
user.java 准备提交
但还没有真正保存到历史记录。
为什么需要暂存区?
假设你修改了:
login.java
register.java
user.java
但今天只想提交登录功能。
那么:
git add login.java
git commit -m "完成登录功能"
其他文件先不提交。
这就是暂存区的意义。
3)本地仓库(Repository)
执行:
git commit -m "完成登录功能"
后:
暂存区 → 本地仓库
此时 Git 会生成一个新的版本记录。
例如:
a1b2c3d 完成登录功能
b2c3d4e 修复登录Bug
c3d4e5f 优化首页布局
这些历史记录都会永久保存在:
.git
目录中。
4)远程仓库(Remote Repository)
远程仓库存在服务器上。
常见平台:
- GitHub
- Gitee
- GitLab
例如:
你的电脑
↓
git push
↓
GitHub仓库
团队成员:
GitHub仓库
↓
git pull
↓
其他成员电脑
这样就实现了多人协作开发。
1.5 Git 工作流程图(必须记住)
① 修改代码
↓
② git add
↓
③ git commit
↓
④ git push
对应中文:
工作区
↓
暂存区
↓
本地仓库
↓
远程仓库
记忆口诀:
写代码 → add → commit → push
或者:
工作区 → 暂存区 → 本地仓库 → 远程仓库
后面所有 Git 命令都不会脱离这个流程。
本课总结
Git 本质上是一个:
分布式版本控制系统
核心作用:
- 记录代码历史
- 版本回退
- 团队协作
- 分支开发
必须牢记四个区域:
工作区(Workspace)
↓
暂存区(Stage)
↓
本地仓库(Repository)
↓
远程仓库(Remote)
记住一句话:
写代码 → git add → git commit → git push
这是 Git 使用频率最高的核心流程。