一、git 的三种状态
在git中,有非常重要的三种状态,已修改状态,已暂存状态,已提交状态
- 已修改状态,表明我们新建了某个文件或者修改了某个已经存在的文件,但是并没有打算提交,这就是已修改状态;
- 已暂存状态,表明我们将已修改的文件,包含到了下次提交的快照中,但是还没有提交,这就是已暂存状态;
- 已提交状态表明文件已经在本地仓库中,可以在分支的历史上查看到这次提交,这就是已提交状态;
在git 中,与这三种状态对应的分别是工作区、暂存区、以及本地仓库,与本地仓库对应的就是位于中央服务器上的远程仓库。
二、Git 的三个区域
- 工作区:工作目录就是某个版本快照的内容,它是从git 仓库中提取出来的文件放在工作区域中来供大家使用和修改;
- 暂存区:暂存区域是一个文件,他保存了下次需要提交的文件信息,有时候也被称为索引,
- 本地仓库:git 仓库目录是git用来保存项目的源数据,和对象数据库的地方,这是git最重要的部分,当从远程服务器克隆以及推送的时候,使用的就是这个git 本地仓库。
三、 Git 分支开发
git的一大特性就是分支开发
解说一下这个图,这个图就是在实际应用当中一个git 提交记录的一个截图:
- 从最下面网上看,每一个分叉的地方都是新建了一个分支的地方
- 在每个分支上进行开发,当开发完成的时候,每两个分叉结合的地方,就是分支合并的地方,将两个分支合并成一个分支,最终将所有的分支都合并到一个稳定分支,也就是master 分支上。
在什么时候需要新建一个分支呢?
比如说,当你有一个新的功能,或者需要修改一些bug 的时候,你可能需要一个bugfix分支,feature分支等
四、git 的一般开发流程
- 创建仓库/从远程仓库克隆
- 创建并切换到特性分支
- 创建/修改文件
- 提交工作区文件到暂存区
- 提交暂存区文件到本地仓库
- 切换到主干分支
- 合并特性分支到主干分支