Git 的核心是三个主要区域:工作区、暂存区和版本库。理解这三个区域及其交互方式是掌握Git的关键。
工作区是你在电脑上看到的目录,是你实际编辑文件的地方。这些文件可能处于三种状态:
暂存区(也称为索引)是一个中间区域,用于准备下一次提交的内容。
git add 将文件从工作区移动到暂存区Git仓库是Git存储项目元数据和对象数据库的地方。
git commit 将暂存区的内容保存到版本库Git的基本工作流程涉及三个区域之间的文件移动:
在工作目录中编辑文件
工作区使用 git add 将文件添加到暂存区
暂存区使用 git commit 将更改保存到版本库
版本库提示: 暂存区允许你精确控制哪些更改将包含在下一次提交中。你可以只暂存部分文件的更改,或者一个文件的部分更改。
新文件,Git尚未开始跟踪
已跟踪文件的内容发生了变化
修改已添加到暂存区,准备提交
文件已安全保存在本地数据库中
查看工作区和暂存区的状态
查看工作区与暂存区的差异
撤销工作区的修改
删除未跟踪的文件和目录
将文件添加到暂存区
添加所有修改和新增文件到暂存区
将文件从暂存区移回工作区
交互式选择要暂存的更改
提交暂存区的更改到版本库
查看提交历史
撤销最新提交,保留更改在暂存区
撤销最新提交,删除所有更改
工作区 → 暂存区
暂存区 → 工作区
暂存区 → 版本库
版本库 → 工作区
| 操作 | 工作区 | 暂存区 | 版本库 |
|---|---|---|---|
| 初始状态 | 文件A | - | - |
| git add 文件A | 文件A | 文件A | - |
| git commit | 文件A | - | 文件A |
| 修改文件A | 文件A(修改) | - | 文件A |
| git add 文件A | 文件A(修改) | 文件A(修改) | 文件A |
| git commit | 文件A(修改) | - | 文件A(修改) |
理解要点: