第 3 章:基础工作流——Git 的“三位一体”
约 1099 字大约 4 分钟
2025-12-25
本章目标
掌握 Git 最核心的三个概念:工作区、暂存区、版本库,并学会日常开发的“三板斧”操作。
一、 🏗️ 核心概念:Git 的三个区域
在开始敲命令之前,我们需要理解 Git 的三个核心区域。这可能是新手最容易晕的地方,但理解了它,你就掌握了 Git 的精髓。
想象你在搬家:
工作区 (Working Directory):
- 你的房间。
- 你正在这里生活,东西乱七八糟也没关系。
- 对应:你电脑里能看到的文件和文件夹。
暂存区 (Staging Area):
- 打包箱。
- 你把觉得整理好的东西放进箱子里,准备封箱。
- 特点:你可以随时往箱子里加东西,或者拿出来。
- 对应:Git 内部的一个临时区域,存放你准备提交的修改。
设计哲学:为什么需要“暂存区”?
很多新手会觉得:“直接提交不就行了吗?为什么要多一步 git add?”
这其实是 Linus 的天才设计。在 SVN 等老一代工具中,你只能选择“提交所有修改”或者“提交单个文件”。
但 Git 的暂存区允许你精细化管理你的提交。 比如,你改了 10 个文件,其中 5 个是修复 Bug A,另外 5 个是开发功能 B。 你可以先 add 那 5 个修复 Bug 的文件,commit 一次; 然后再 add 剩下的 5 个文件,再 commit 一次。
这样,你的提交历史就非常清晰,每一个 Commit 只做一件事。暂存区就像是你的工作台,让你把杂乱的修改整理成完美的“包裹”再发货。
- 版本库 (Repository):
- 搬家公司的卡车。
- 一旦你封箱并贴上标签,这个箱子就被永久记录在车上了。
- 特点:安全,随时可以找回。
- 对应:
.git文件夹,存放所有历史版本。
二、 🛠️ 实战:你的第一个 Git 仓库
2.1 初始化(git init)
首先,我们需要创建一个项目文件夹,并告诉 Git:“帮我盯着这个文件夹。”
- 创建一个文件夹,比如叫
my-project。 - 在文件夹内右键打开 Git Bash(或终端)。
- 输入命令:
git init你会发现文件夹里多了一个隐藏的 .git 文件夹(如果没有看到,请设置显示隐藏文件)。千万不要手动修改这个文件夹里的东西!
2.2 状态检查(git status)
这是你以后会用得最多的命令。它就像是监控探头,告诉你当前的情况。
git status现在它应该会告诉你:nothing to commit(没什么可提交的)。
2.3 创建文件
我们在文件夹里新建一个文件 README.md,随便写点内容,比如 "Hello Git"。
再次输入 git status,你会看到:
Untracked files: README.md(未追踪的文件:README.md)- 它是红色的,说明它还在工作区,Git 还没开始管理它。
2.4 追踪文件/装箱(git add)
告诉 Git:“这个文件我改好了,把它放进暂存区(打包箱)。”
git add README.md再次 git status:
Changes to be committed- 文件名变成了绿色,说明它已经进了暂存区。
小技巧
如果你改了很多文件,不想一个个 add,可以用: git add . (把当前目录下所有修改都加入暂存区)
2.5 提交更改/存档(git commit)
告诉 Git:“把暂存区的内容永久保存下来,并写个备注。”
git commit -m "第一次提交:创建了 README 文件"-m后面跟的是提交信息 (Commit Message)。- 一定要写清楚你干了什么! 别写 "update"、"fix" 这种没意义的话,否则一个月后的你会想打死现在的自己。
再次 git status,你会看到 working tree clean,说明所有更改都已保存。
三、 🔄 总结:日常三板斧
记住这个咒语,这就是你以后每天要重复无数次的动作:
- 改代码(在工作区瞎折腾)
git add .(把修改好的放入暂存区)git commit -m "xxx"(永久存档)
恭喜
你已经完成了一次完整的版本控制流程!现在的 README.md 已经被 Git 永久记录了。