大家好,我是“追梦蜗牛”,大家可以在公众号后台回复 “Java资料”获得技能提升的资料,绝对是干货。

上篇文章主要说到 Git的使用中分支管理, 本篇文章接着上篇内容继续为大家介绍 Git的标签管理,顺带说一下小伙伴要求说的 回滚和丢弃的使用情况。

 

本文是Git系列的第六篇,了解前面的文章有助于更好的理解本文:


1.Git介绍和安装
2.Github账号和Gitlab账号同时使用
3.Git图形化管理工具SourceTree的实用操作
4.Git冲突处理
5.Git分支管理


 

前言

一,标签管理

二,提交节点回滚

三,代码改动丢弃

 

一,标签管理

 

1,什么是Git标签?

Git中的标签用于标记某一提交点,唯一绑定一个固定的commitId,相当于为这次提交记录指定一个别名,方便提取文件。
可以为重要的版本打上标签,标签可以是一个对象,也可以是一个简单的指针,但是指针不会移动。

 

2,为什么要使用标签?

 

在开发的一些关键节点,使用标签来记录这些关键节点, 例如发布版本, 有重大修改, 升级的时候, 会使用标签记录这些节点, 来长久标记项目中的关键历史时刻;
发布一个版本时,我们通常先在版本库中打一个标签(tag),当该版本有急需要修复的bug的时候在该标签上做分支修改。

当然我们也可以针对某一次的提交打上一个标签,有点类似于给某次提交做个标记,比如1.0版本发布时打个标签叫tag1.0,2.0版本发布时打个标签叫tag2.0,因为每次版本提交的结果都是一连串的哈希码,不容易记忆,打上tag1.0,tag2.0这些具有某种含义的标签后,可以方便我们进行版本管理。

 

3,怎么新建标签?

 

我们以实例做参照,打标签流程如下:比如我们做一个项目的一个版本完成后需要打标签做记录。

开发项目---》完成任务----》打标签---》本地标签---》推送标签到远程服务器---》查看标签----》在标签基础上做bug修复

#,首先我们新建一个测试Git添加部分信息,提交两次,这时就相当于我们任务完成了,在做下一个迭代之前,需要先把当前的版本打标签

 

Git(六)Git标签管理_远程服务器

 

#,打标签

我们在完成的这次提交上打标签

Git(六)Git标签管理_远程服务器_02

此时我们已经可以看到打的标签记录

Git(六)Git标签管理_公众号_03

当然这个时候还不算结束 ,因为此时的标签是本地的 ,你去Github上面查看的时候 是没有这个标签的,此时还需要我们推送标签到远程服务器,操作如下:

右击 标签中的tag1.0  选择如下操作:


Git(六)Git标签管理_推送_04
成功后我们可以在github服务器看到刚才打的标签

Git(六)Git标签管理_回滚_05

 

 

到这里标签的整理流程就算讲明白了,有些小伙伴就说了这好理解啊,那标签怎么用呢?

好吧,标签使用 就是在标签基础上做bug修改,否则就是永远的固定标签

标签打分支

由于项目上线的太仓促,或者是测试不到位,导致功能有问题,急需要修复问题,就需要在标签上打分支。

双击标签,切换到改标签上

 

Git(六)Git标签管理_推送_06


此时看到的内容就是改标签的内容

未点击之前是master主分支的信息

Git(六)Git标签管理_推送_07



点击之后查看的是打标签的内容信息

Git(六)Git标签管理_git_08

标签打分支

Git(六)Git标签管理_公众号_09


推送分支到远程服务器,此时我们看到的分支内容是和 标签的内容一致,没有第三次修改的信息

Git(六)Git标签管理_git_10


Git(六)Git标签管理_git_11


在本地我们也能很清楚的看到,当切换到标签打的分支以后,内容就是之前的未调整的内容

Git(六)Git标签管理_远程服务器_12

  • 分支修改bug
    我们在分支上调整信息,如下:


    Git(六)Git标签管理_推送_13

    推送到远程服务器

    Git(六)Git标签管理_公众号_14

    在分支上修改完成后 需要合并到主分支上。

    切换到根分支上,右击需要合并的分支,选择  合并 xxx到当前分支


    Git(六)Git标签管理_推送_15

    此时可以看到 跟分支有提交项

    Git(六)Git标签管理_公众号_16

    本地也能看到合并过来的信息

    Git(六)Git标签管理_公众号_17

    查看远程服务器 ,也能看到合并的信息内容


    Git(六)Git标签管理_远程服务器_18

 

好了,到这里标签管理这块就结束了,是不是很简单。是不是也体验到了Git的强大之处。

二,提交节点回滚


代码回滚场景:

1. 当我们提交错代码,想放弃刚刚提交的部分;
2. 当代码发生冲突,处理比较麻烦,为了代码安全,直接回滚到之前干净的代码。

个人理解,回滚分为本地回滚和远程回滚:
一.本地回滚,回滚自己已经提交的代码,但还未推送到远程仓库。
二.远程回滚,回滚后推送服务器代码。整个代码做改动

我们以实例解释一下操作:

假设 刚才我们做了两次提交,并且提交已经推送远程服务器,如下图:

 

Git(六)Git标签管理_回滚_19

 

现在我们发现最后一次提交有问题了,想要回滚到上一个提交。如何操作呢?

1,本地回滚

右击需要回滚的提交节点----》选择  重置当前分支到此次提交----》选择混合合并

Git(六)Git标签管理_回滚_20

Git(六)Git标签管理_回滚_21

此时我们会看到 回滚之后提交的信息,在为缓存中,已经回滚

 

Git(六)Git标签管理_回滚_22

 

2,远程回滚

远程回滚和本地回滚,之前的基本一样如下:

右击需要回滚的提交节点----》选择  重置当前分支到此次提交----》选择混合合并

但是需要推送远程服务器 需要做如下操作:本地回滚完成后-----》右击回滚节点 ---》 提交回滚操作

完成后远程服务器就会做回滚。

 

Git(六)Git标签管理_远程服务器_23

 

最后切记   强制推送代码,切记这个时候不要拉取代码


三,代码改动丢弃

Git中 丢弃就是放弃你之前一个或者多个文件的所有修改,相当是还原到初始状态。

操作如下:
我们新增了三个文件,三次提交

Git(六)Git标签管理_回滚_24

 

我们现在修改了文件  丢弃1,但是发现修改的不需要了,要放弃之前的修改 

Git(六)Git标签管理_git_25

选择为未缓存文件中,  选中需要丢弃的文件----》 点击头部丢弃----》丢弃更改

 

Git(六)Git标签管理_回滚_26

 

如果是本地新增文件,需要在已暂缓区中 丢弃,此时会变到未缓存区中

 

OK,本文我们就先说到这里,有问题欢迎留言讨论。有关Git工具SourceTree的操作到这里基本就完了,如果按照该文章(全篇共六篇)使用Git开发项目绝对没有问题,如果有遇到问题的小伙伴,可以关注公众号,加我微信。

Git(六)Git标签管理_公众号_27

 

 

- End -

 

 

Git(六)Git标签管理_推送_28

长按二维码关注

期待您的加入

 

 

Git(六)Git标签管理_git_29

 

 

近期推荐阅读:

职场我们如何寻找自己的定位?

IT项目开发流程

怎样才能算自由者?

频繁跳槽会有什么不好的影响?

资源整理:
包括不限于Java、Python、Linux、前端、人工智能、架构、大数据、电子书 ,移动端,小程序,项目等