Git 基础——Git 项目的三个阶段

Git 的三种状态

Git 有三种状态,已提交(committed)已修改(modified)已暂存(staged)

  • 已修改表示修改了文件,但还没保存到数据库中。

    数据库,Git 的数据库分为远程数据库和本地数据库。

  • 已暂存表示对一个已修改文件的当前版本做了标记,使之包含在下次提交的快照中。

  • 已提交表示数据已经安全地保存在本地数据库中。

如果 Git 目录(仓库)中保存着特定版本的文件,就属于 已提交 状态。 如果文件已修改并放入暂存区,就属于 已暂存 状态。 如果自上次检出后,作了修改但还没有放到暂存区域,就是 已修改 状态。

因为这三种状态,所以 Git 项目具有三个阶段:工作区、暂存区、以及 Git 目录。

工作区

工作区是对项目的某个版本独立提取出来的内容。 这些从 Git 仓库的压缩数据库中提取出来的文件,放在磁盘上供你使用或修改。(有些把这个叫做工作树)

暂存区

暂存区是一个文件,保存了下次将要提交的文件列表信息,一般在 Git 仓库目录中。 按照 Git 的术语叫做“索引”,不过一般说法还是叫“暂存区”。

Git 仓库目录(版本库)

Git 仓库目录是 Git 用来保存项目的元数据和对象数据库的地方。 这是 Git 中最重要的部分,从其它计算机克隆仓库时,复制的就是这里的数据。

Git 的基本工作流程如下:

  1. 创建 Git 工作目录和版本库

  2. 在工作区中修改文件

  3. 将你想要下次提交的更改选择性地暂存,这样只会将更改的部分添加到暂存区。git add

  4. 提交更新,找到暂存区的文件,将快照永久性存储到 Git 目录(仓库)。git commit

    关于快照,Git 是直接记录快照而不是去比对数据。快照 (电脑储存) - 维基百科,自由的百科全书 (wikipedia.org)