代码改变世界

Git 深度学习填坑之旅二(文件三种状态、打标签)

2018-11-14 10:52  yongchin  阅读(770)  评论(0编辑  收藏  举报

0x01 三种状态

Git 有三种状态,你的文件可能处于其中之一:

已提交(committed)、已修改(modified)和已暂存(staged)。

已提交表示数据已经安全的保存在本地数据库中。 已修改表示修改了文件,但还没保存到数据库中。 已暂存表示对一个已修改文件的当前版本做了标记,使之包含在下次提交的快照中。 

由此引入 Git 项目的三个工作区域的概念:Git 仓库、工作区以及暂存区。流程图如下图所示

 

同样也可以借用大表哥(@表严肃)的一张图来讲解一下

一个文件在我们的工作区通过修改达到modified状态,再通过add添加在暂存区达到staged状态,最后通过commit添加到本地仓库形成一颗后悔药,每一次commit就是一颗后悔药,我们在未来可以通过某些手段进行回退

 

0x02 打标签

一个项目,我们每一次commit都是一个小节点,在这些小节点中,某些节点可能是可以版本的交付,特别重要。这个时候,我们就可以给这个节点打一个标签,方便以后查看和回退

举例

这里本地构造四次commit,通过git log 可以查看到

我们也可以通过git log --oneline来简单查看

 

1、给当前节点打一个标签

git tag -a 版本名 -m "备注"

 

2、给某一个版本打一个标签

git tag -a 版本名 -m "备注" 版本ID

 

3、我们还可以通过git show tag名来查看tag的信息

 

4、通过标签切换版本

同样的我们可以通过git checkout 标签名来切换