一、Git 的四个主要工作区
理解 Git 的工作原理需要关注它的四个主要工作区:工作目录(Working Directory)、暂存区(Staging Area)、本地仓库(Local Repository)和远程仓库(Remote Repository)。下面将详细介绍这四个工作区及其功能。
1、工作目录(Working Directory)
工作目录是你在本地文件系统中查看和编辑项目文件的地方。它包含了所有项目的文件和子目录,并且是开发者直接与项目交互的环境。每次你从本地仓库中检出某个分支时,Git 会将该分支的最新版本文件复制到工作目录中。
可以理解为工作目录就是我们一个项目的目录,可以进行代码的开发、编辑和修改。
2、暂存区(Staging Area)又称为索引(Index)
暂存区又称为索引(Index)。它是一个中间层,用于暂存工作目录中准备提交的更改。可以将它视为一个暂时的快照。在此阶段,你可以选择哪些文件或更改需要包含在下一次提交中。
3、本地仓库(Local Repository)
本地仓库包含了项目的历史版本和所有的提交记录。每次你在暂存区提交更改时(使用 git commit
命令),这些更改会被记录到本地仓库中。你可以查看历史提交记录、切换分支、回滚到之前的版本等操作。
4、远程仓库(Remote Repository)
远程仓库是存放在网络上的 Git 仓库(例如 Github、GitLab 等),通常用于团队协作。开发者会将本地仓库的更改推送到远程仓库(使用 git push
),也可以从远程仓库拉取其他开发者的更改(使用 git pull
)。
二、四个主要工作区域的相互关系
1、关系图
2、Git 管理的文件三种状态
1)未跟踪(Untracked):
新创建的文件,Git 不知道该文件的存在。它们没有被添加到 Git 的索引中。使用 git status
命令时,这些文件会被标记为 "untracked files"。
2)已跟踪(Tracked):
Git 已经在版本控制中记录了这些文件,它们的状态分为三种:
- 未修改(Unmodified):文件自上次提交后没有任何更改。
- 已修改(Modified):文件自上次提交后发生了更改,但尚未添加到索引中。
- 已标记待提交(Staged):文件的更改已被添加到索引中,准备在下次提交中包含。
3)已提交(Committed):
文件的状态被保存到 Git 的版本库中,成为一个版本快照。此时,文件的内容在版本库中是安全的。