Git 工作流程
Git 工作流程
简介
Git 是目前世界上最先进的分布式版本控制系统。它可以更方便的跟踪,管理和组织代码,也可以更好的与其他开发者进行协作开发。协作开发必须有一个规范来约束各个贡献者的行为。这个规范就是 Git 工作流程(Git Workflow)。
Git 基本概念
文件状态
git 管理的文件存在以下几种文件状态:
首先 Untracked 是还没有记录,还没有登记。这个 Untraked 就是表示这个文件还没有登记给 git 代码库,git 还不知道这个文件要不要纳入版本管理。
当执行 git add 文件名
这个命令之后,就代表要把这个文件纳入版本管理,这个时候,它的状态就变成了 Staged 暂存区,表示文件已经记录下来了,后面可以一起提交到本地仓库中。
而原来已经纳入版本管理的文件,如果一直都没有修改过内容,它的状态就是 Unmodified 未修改。如果把处于未修改状态的文件修改了内容,这个时候它的状态就会变为已修改,需要再次提交到暂存区,才能后面把这个修改提交到本地仓库。
当把这些暂存区的文件都提交到本地仓库之后,它们的状态就都会变为 Unmodified 未修改。
这就是 Git 中文件的基本状态和它们之间的流转过程。
三个工作区域
根据 Git 的文件状态,在 Git 分成了不同的工作区域:工作区、暂存区和仓库区。
工作区是对项目的某个版本独立提取出来的内容。这些内容是从 Git 仓库的压缩数据库中提取出来的文件,放在本地磁盘上使用或修改。
暂存区是一个文件,保存了下次将提交的文件列表信息,一般在 Git 仓库目录中。
仓库区是用来保存项目的元数据和对象数据库的地方。 这是 Git 中最重要的部分,从其它计算机克隆仓库时,拷贝的就是这里的数据。
工作树
Git 工作树 worktree 是 Git 仓库的一个链接副本,允许同时签出多个分支。工作树与主工作副本的路径是分开的,它可以处于不同的状态和不同的分支上。
在 Git 中新建工作树的好处是,可以在不干扰当前工作环境的情况下,做出与当前任务无关的修改、提交修改,然后在以后合并。
Git 工作流程
这里把 Git 的工作区域分为 4 层,分别是本地的工作区、本地的暂存区、本地的仓库区和远程的仓库区。
远程的仓库区就是托管代码的服务器,比如常见的 GitHub、GitLab、Gitee 等等
Git 的工作流程一般是这样的:
- 使用
git add
命令在工作目录中添加、修改文件。 - 执行完
git add
命令之后,文件就会进入暂存区。 - 暂存区的文件可以通过
git rm
命令清除掉,让文件离开暂存区。也可以使用git checkout
命令恢复到原来的内容。 - 已经在暂存区的文件,可以通过
git commit
命令提交到本地仓库区。 - 已经在本地仓库区的文件,可以通过
git reset
命令恢复到上一次记录的内容。 - 已经提交到本地仓库的文件,可以通过
git push
命令提交到远程仓库。 - 远程仓库的内容,也可以通过
git pull
命令拉取到本地仓库中。
总结
- Git 相关概念
- Git 工作流程