git版本控制操作原理和流程图解(十五)

git工作流程
git的典型工作流程如上图所示,通过上述步骤连续记录项目的版本变化。git的三个重要区域是工作区(working directory)、暂存区(staged/index)、仓库。
HEAD 指针指向当前仓库的最后一次提交,即最新的提交版本。
当我们新建文件并进行版本提交的时候,三个区域的变化如下:

一、新建一个仓库,并在工作区新建一个文件

当我们初始化一个仓库的时候,默认是在 master 分支,此时 HEAD 指向master分支。
此时我们在工作区新建一个 file.txt 文件,此时我们假设已经完成了它的第一个版本v1并打算提交它。
现在只有工作区有这个文件,它的状态是未追踪。暂存区、仓库都没有它。
git版本控制操作原理和流程图解(十五)

二、追踪新建文件,加入暂存区

执行 git add 命令,将新建文件 file.txt 加入暂存区。现在文件的状态为 staged。同时也是已追踪文件,待提交。
git版本控制操作原理和流程图解(十五)

三、提交文件至仓库

执行 git commit 命令,将暂存区的文件提交至本地仓库。此时 file.txt 已经加入仓库了,已进行了版本控制,文件状态为 unmodified。HEAD 指针指向这次最新的提交。master分支也指向这次提交。
现在执行 git status 命令,就会发现仓库是“干净”状态。因为 git 的三个区域里的内容都是一致的。
git版本控制操作原理和流程图解(十五)
 

四、修改已经版本控制的文件内容

现在由于需求变化,我们需要修改 file.txt 的内容,后面准备发布第二个版本。此时的操作流程和之前一样。我们假设修改完的版本为 v2。
git版本控制操作原理和流程图解(十五)
当我们修改完后,文件的变化保留在工作区中,三个区内只有工作区的文件发生了变化。此时文件的状态为已修改(modified )。
 

五、暂存已修改文件

执行 git add 命令,将已修改文件加入暂存区。此时文件的状态变为已暂存(staged),待提交。现在暂存区和工作区的内容一致了。
git版本控制操作原理和流程图解(十五)

六、提交新的版本

执行 git commit 命令。将v2版本提交入库。此时三个区(工作、暂存区、仓库)内容一致了。仓库的状态变为“干净”状态。
HEAD 和 master 都指向了最新提交的版本v2。
git版本控制操作原理和流程图解(十五)

总结:git版本控制的操作流程就是上述流程的反复。项目最终提交到仓库形成了一系列的版本。git都将这些版本记录了,所以我们可以恢复以前的版本,以及查看项目的修改记录。

 

如若转载,请注明出处:https://www.javaidea.cn/article/8068.html

(0)
上一篇 2022年2月7日 上午10:03
下一篇 2022年2月7日 上午10:03

相关推荐

发表评论

您的电子邮箱地址不会被公开。