Git 的工作区、暂存区和版本库是其核心概念,理解它们对于有效使用 Git 至关重要。下面是这些概念的简要说明:
工作区(Working Directory)
- 定义:工作区是你在电脑上可以直接看到和编辑的文件所在的目录。这是你日常编写代码、修改文件的地方。
- 作用:用户直接与工作区互动,进行文件的新增、修改或删除操作。
暂存区(Staging Area / Index)
- 定义:暂存区(也称为索引区)是一个临时存储区域,位于
.git
目录下的index
文件中。它充当了工作区和版本库之间的缓冲区。 - 作用:当你使用
git add
命令时,会将工作区中指定的文件从当前状态添加到暂存区。这一步骤意味着你标记了这些文件,告诉 Git 下次提交时应该包含这些改动。
版本库(Repository)
- 定义:版本库是 Git 用来存储项目历史版本的数据库,包括一个名为
.git
的隐藏目录。它包含了所有的提交历史、分支、标签等元数据。- HEAD:指向当前分支的最新提交。
- 对象库:存储文件内容的压缩对象,以及指向这些对象的引用。
- 作用:版本库负责保存你的每一次提交,保证代码的历史可追溯,支持版本回溯、分支管理等功能。
工作流程中的角色
- 修改文件:在工作区中编辑文件。
- 暂存改动:使用
git add
将改动的文件从工作区移至暂存区,准备提交。 - 提交改动:使用
git commit
将暂存区的内容保存到版本库中,完成一次版本提交。提交时会创建一个新的快照,并附带提交信息。
这个流程确保了你可以精确控制哪些改动被纳入下一次提交,从而使得版本控制更加灵活和高效。