美文网首页
git打本地tag标记和推送仓库tag标记 根据标记的tag修改

git打本地tag标记和推送仓库tag标记 根据标记的tag修改

作者: 则卷滔滔 | 来源:发表于2018-11-01 16:01 被阅读35次

列出tag

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

$ git tag -l ‘v0.1.*’ # 搜索符合模式的Tag

打tag

git tag分为两种类型:轻量tag和附注tag。轻量tag是指向提交对象的引用,附注Tag则是仓库中的一个独立对象。建议使用附注Tag。

创建附注Tag

$ git tag -a v0.1.2 -m “0.1.2版本” //-m后面可写可不写 tag说明

创建附注Tag时,参数a即annotated的缩写,指定Tag类型,后附Tag名。参数m指定Tag说明,说明信息会保存在Tag对象中。

切换到Tag

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

查看Tag信息

用git show命令可以查看Tag的版本信息:

$ git show v0.1.2

删除Tag

误打或需要修改Tag时,需要先将Tag删除,再打新Tag。

$ git tag -d v0.1.2 # 删除Tag

参数d即delete的缩写,意为删除其后指定的Tag。

给指定的commit打Tag

打Tag不必要在head之上,也可在之前的版本上打,这需要你知道某个提交对象的校验和(通过git log获取)。

补打Tag

$ git tag -a v0.1.1 9fbc3d0

Tag推送到服务器

通常的git push不会将Tag对象提交到git服务器,我们需要进行显式的操作:

$ git push origin v0.1.2 # 将v0.1.2 Tag提交到git服务器

$ git push origin –-tags # 将本地所有Tag一次性提交到git服务器

注意:如果想看之前某个Tag状态下的文件,可以这样操作

1.git tag 查看当前分支下的Tag

2.git checkout v0.21 此时会指向打v0.21 Tag时的代码状态,(但现在处于一个空的分支上)

如何使用已创建的tag

目前我们所有的Git项目,在封版后,都会打个tag来标记版本。 

有时候,当我们封版后,会发现一些严重的bug,不得不修改,但是这个时候,我们已经开始新版本的开发了,这时回退到tag,修改封版时候的代码就很有必要了

首先明确两个概念: 

tag:你可以理解为一个代码的快照,它记录的是某个时刻的代码,你可以获取tag,但是不能编辑tag的代码 

branch:分支,这个无需多解释了

android studio创建tag是有可视化界面来操作的,但是使用tag没有,你需要用到命令行。 

使用已创建的tag,你需要: 

找到这个tag,并把你本地代码的head移到这个tag上:git checkout tag_name. 

这时候 git 可能会提示你当前处于一个“detached HEAD” 状态,因为 tag 相当于是一个快照,是不能更改它的代码的。 

如果要在 tag 代码的基础上做修改,你需要创建一个branch:git checkout -b branch_name tag_name,其中的tag_name可省略

然后剩下的就跟我们在master上操作一样了,只不过你是操作的另外一个branch

相关文章

网友评论

      本文标题:git打本地tag标记和推送仓库tag标记 根据标记的tag修改

      本文链接:https://www.haomeiwen.com/subject/qkyxxqtx.html