在发布一个版本时,我们通常先在版本库中打一个标签,这样,就唯一确定了打标签时刻的版本。将来无论什么时候,取某个标签的版本,就是把那个打标签的时刻的历史版本取出来。所以,标签也是版本库的一个快照。在回退版本的时候,相当有用!那怎么用呢?
一、在分支上线打tag
1. 在最新代码上打tag;
这种情况最简单,就是在pull下来最新的代码基础上打一下tag,无需指定commit id,系统会默认最新的这个commit id。打tag需要取一个tag的名字,还得同步写一个tag的message,也就是解释、注释,好理解就行。
git tag -a "V8V1R010C010B021" -m "verion V8V1R010C010B021 released"
git tag后面的-a参数表示是add一个tag,后面跟着的就是tag名字,-m就是跟着的注释;执行上面这句话,tag就打上了,不过还真是在本地啊!可以在命令行行里敲一下:git tag;如果有新增的这个tag名字就说明在本地加成功了,只待推送到远端仓库;
2、在分支中间某个commit代码的基础上打tag;
就是平时发版本的时候,没注意打tag,代码分支上又提交了很多新的代码,那怎么办?git还是很友好的,可以指定commit id去打tag,也就是插入tag到指定的点,精确制导!执行的命令跟前面说的基本差不多,只需要在最后面加上指定的commit id,如下:
git tag -a "T8V1R010C010B020" -m "verion V8V1R010C010B021 released" 58e02d201a1773aacfc182a37b2ffeb4833f00fc
当然指定的commit id必须要有啊,不然肯定打不成功的。执行完上面的命令后,敲一下git tag确认一下是否成功。
3、推送tag到远端仓库
众所周知,在本地不管啥操作,只要不动用git push,啥时都没有,换句话说随便怎么瞎搞也不怕,所以在使用git push的时候要小心,要对仓库负责!推送方法如下:
git push origin dev V8V1R010C010B021
推送tag号到指定的dev分支上,推成功了会有如下打印:
4、可以拉个新工程,把代码拉下来确认一下;
二、如何取到指定tag的代码
在测试验证和开发回归的时候,我们经常会遇到回退版本,特别是回退到某个发布的版本,由于打了tag,就很好的能快速退到,tag号要记住啊,记不住也没事,下拉代码执行git tag会弹出来所有的tag,自己复制你需要的那个就是;
git checkout -b branch_name tag_name
很简单了,对应分支名称,tag号就行了。
git checkout -b dev V8V1R010C010B021
这样就可以拉出分支到指定的tag代码点。然后想怎么操作就看你的目的了。