git tag主要是对某一次代码提交后生成版本ID号进行标签注明的作用,适用于线上发布时的版本注明和绑定。如下图

gitlab给分支打tag gitlab如何打tag_gitlab给分支打tag

tag的好处是让版本发布上线和回滚更清晰明了。版本号根据公司需求规范取名即可。

像V1.00红框里后面的ID号是每次代码更新提交后生成的版本id号。

也就是说每次更新提交都会生成一个版本id号,而我们发布的版本可以自定义关联到某次更新后的版本ID号上。

一、tag 标签使用方法

1. 列出标签

# git tag #     //在控制台打印出当前仓库的所有标签

# git tag -l ‘v0.1.*’ #   //搜索符合模式的标签

2 打标签

客户端上操作:

# git clone http://admin@ald8.cn:8080/r/ald8.git    //先连接下载分支
# git checkout master      //切到master
# git tag v1.00 440376 -m "20190424第一版"           //tag  自定义版本标识  版本id号  -m "备注“

3. 切换标签(这个适用于代码回滚或切换到指定标签版本) 

git checkout [tagname]  //与切换分支命令相同

# git checkout V1.02     //当前目录全部代码切换到V1.02时的代码

4. 删除标签

客户端上操作:

# git tag  -d v1.00         //删除本地标签
# git push origin  :v1.00   //删除git服务器上的标签

5. 标签发布

# git push origin V1.00      //将V1.00标签提交到git服务器

# git push origin --tags #   //将本地所有标签一次性提交到git服务器

二、发布和回滚

假如线上服务器代码目录位置:/data/www/ald8

代码第一次上线发布做版本标签

[root@ald8 /]# cd /data/www/

[root@ald8 /]# ls
mytest

[root@ald8 www]# git clone http://admin@ald8.cn:8080/r/ald8.git    //下载代码
Cloning into 'ald8'...
Password for 'http://admin@ald8.cn:8080': 
remote: Counting objects: 21, done
remote: Finding sources: 100% (21/21)
remote: Getting sizes: 100% (10/10)
remote: Compressing objects: 100% (54/54)
remote: Total 21 (delta 1), reused 18 (delta 1)
Unpacking objects: 100% (21/21), done.

[root@ald8 www]# ls
ald8 mytest

[root@ald8 www]# cd ald8   //一定要进到目录里才以执行标签操作

[root@ald8 ald8]# git tag v1.00 440376 -m "20190424第一版"  //打标签

[root@ald8 ald8]#  git push origin V1.00   //标签发布
Counting objects: 1, done.
Writing objects: 100% (1/1), 140 bytes | 0 bytes/s, done.
Total 1 (delta 0), reused 0 (delta 0)
remote: Updating references: 100% (1/1)
To http://ald8.cn:8080/r/ald8.git
 * [new tag]         v1.00 -> v1.00

[root@ald8 ald8]# git checkout v1.00       //开始切换版本到v1.00,文件结构会自动更新
Previous HEAD position was 440376f... Initial commit
HEAD is now at 0a7e9fc... 111

第二次上线发布做版本标签git tag V1.01

[root@ald8 www]# cd /data/www/ald8   

[root@ald8 ald8]# git tag v1.01 0a7e9f -m "	20190430"  //打标签

[root@ald8 ald8]#  git push origin v1.01   //标签发布

[root@ald8 ald8]# cp -rp ald8 ald8.v1.00   //切换版本时先备份,可以应急手动快速回滚第一个版本

[root@ald8 ald8]# git checkout v1.01       //开始切换版本到v1.01,文件结构会自动更新
Previous HEAD position was 440376f... Initial commit
HEAD is now at 0a7e9fc... 111

假如第二次发布的版本发现有bug,需要快速回滚到第一版本,这里有两种方式

A . 删除备当前版本目录文件ald8,再将第一版的备份文件ald8.v1.00改名成ald8即可.

[root@ald8 /]# rm /data/www/ald8 -rf 

[root@ald8 /]# mv /data/www/ald8.v1.00 /data/www/ald8

B. 使用git切换版本的功能,直接执行切换命令即可

[root@ald8 /]# cd /data/www/ald8

[root@ald8 ald8]# git checkout v1.00
Previous HEAD position was 0a7e9fc... 111
HEAD is now at 440376f... Initial commit

这样就完成了版本的回滚。