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 使用频率最高的核心流程。