Git 工作区、暂存区和版本库
封面图
•
2025-11-21
•
git
212
0
0
0
在 Git 中,**工作区(Working Directory)**、**暂存区(Staging Area / Index)** 和 **版本库(Repository)** 是三个核心概念,它们分别代表了代码的不同状态和存储位置。理解这三者的关系对于掌握 Git 的使用非常重要。 --- ## 一、Git 三大部分简介 ### 1. 工作区(Working Directory) - **定义**:你当前正在编辑的文件所在的目录,也就是你实际看到并修改的文件。 - **作用**:是你日常开发的地方,所有对文件的修改都发生在工作区中。 - **示例**:如果你在 `project/` 目录下编辑 `README.md` 文件,那么这个目录就是你的工作区。 > 📌 **注意**:工作区中的文件是“未被 Git 跟踪”的或者“已经被跟踪但未提交”的状态。 --- ### 2. 暂存区(Staging Area / Index) - **定义**:是一个临时的区域,用于保存你准备提交到版本库的文件更改。 - **作用**:你可以将工作区中修改过的文件添加到暂存区,表示“我准备把这些改动提交了”。 - **操作命令**: - `git add <file>`:将文件从工作区添加到暂存区。 - `git add .`:将所有修改过的文件添加到暂存区。 > 📌 **注意**:暂存区是 Git 提交前的一个中间状态,它不是物理存在的文件,而是 Git 内部维护的一个索引。 --- ### 3. 版本库(Repository) - **定义**:即 Git 的仓库,包含所有历史提交记录。 - **作用**:保存你每次提交的内容,是 Git 的核心存储结构。 - **操作命令**: - `git commit`:将暂存区的内容提交到版本库。 - `git commit -m "message"`:提交并添加提交信息。 > 📌 **注意**:版本库分为两部分: > - **本地仓库(Local Repository)**:你本地电脑上的 Git 仓库。 > - **远程仓库(Remote Repository)**:比如 GitHub、Gitee 等托管平台上的仓库。 --- ## 二、三者之间的关系图 ``` 工作区(Working Directory) ↓ 添加到暂存区(git add) ↓ 暂存区(Staging Area / Index) ↓ 提交到版本库(git commit) ↓ 版本库(Repository) ``` --- ## 三、举个例子说明流程 假设你有一个文件 `hello.txt`: 1. **工作区**:你编辑了 `hello.txt`,内容变成 "Hello World"。 2. **暂存区**:你运行 `git add hello.txt`,把修改后的文件加入暂存区。 3. **版本库**:你运行 `git commit -m "Update hello.txt"`,将文件提交到版本库。 此时,版本库中就保存了这个文件的最新版本。 --- ## 四、常见命令总结 | 操作 | 命令 | 说明 | |------|------|------| | 将文件添加到暂存区 | `git add <file>` | 把工作区的修改加入暂存区 | | 提交暂存区内容到版本库 | `git commit -m "message"` | 把暂存区的内容提交为一次新提交 | | 查看状态 | `git status` | 显示工作区、暂存区和版本库的状态 | | 查看差异 | `git diff` | 查看工作区与暂存区的差异 | | 查看提交历史 | `git log` | 查看版本库中的提交记录 | --- ## 五、总结 | 名称 | 位置 | 作用 | 是否持久化 | |------|------|------|-------------| | 工作区 | 本地文件系统 | 日常开发 | 否 | | 暂存区 | Git 内部索引 | 临时保存待提交的更改 | 否 | | 版本库 | `.git` 目录 | 存储所有提交记录 | 是 | --- 如果你有具体的问题或想了解某个命令的详细用法,可以继续问我!
上一篇:
使用Git自动更新实现本地一键推送到正式服务器项目中
下一篇:
Git 服务器搭建
标题录入,一次不能超过6条
留言
评论