git tag:打标签

QuibblerQuibbler 2020-03-27 约 4 分钟 1961 次阅读

git tag

git可以给仓库历史中的某一个提交打上标签(tag)。开发过程中,常常拉出基线,在来处基线出打上tag,标志该出已经拉出一条稳定的产品基线。tag可以理解问一个不可修改的branch分支。

1、查看tag        

-l 或 --list 列出仓库中所有标签

git tag -l
    git tag --list

使用可选<pattern>...仅列出与模式匹配的标签。通配符必须和-l或者--list配合使用。

git tag --list 'v3.*'

不带参数运行“ git tag”也会列出所有标签。

git tag

2、创建tag  

git 有两种类型的tag:轻量标签(lightweight)与附注标签(annotated)

2.1、附注标签:-a

附注标签是存储在 Git 数据库中的一个完整对象, 有点类似commit提交。它们是可以被校验的,其中包含打标签者的名字、电子邮件地址、日期时间, 此外还有一个标签信息,并且可以使用 GNU Privacy Guard (GPG)签名并验证。 通常会建议创建附注标签,这样你可以拥有以上所有信息。但是如果你只是想用一个临时的标签, 或者因为某些原因不想要保存这些信息,用轻量标签。引用《Git 基础 - 打标签》

git tag命令加上-a选项和-m,如果不带上-m就会进入vim编辑器写注释。

git tag -a 标签名 -m '注释'

2.2、轻量标签

不需要使用 -a、-s 或 -m 选项,只需要提供标签名字

git tag 标签名

2.3、以前的提交打上tag

直接输入打标签都是给当前最新的commit打标签。如果想给之前的某笔提交打上一个tag,带上那笔commit的id即可。

git tag 更新gragle 9c030a3

3、删除tag  

删除掉你本地仓库上的tag

git tag -d tag名

删除远程tag的方式

git push origin --delete <tagname>

4、提交tag  

提交代码是不会带上tag的,需要单独对拉出的tag提交到远程分支。

git push origin tag名

或者一次提交所有本地tag到服务器:

git push origin --tags

5、切换代码到tag处 

和切换分支一样使用checkout命令,切换到指定打出tag的代码处,不能进行任何修改。

git checkout tag名

在“分离头指针”状态下,如果你做了某些更改然后提交它们,标签不会发生变化, 但你的新提交将不属于任何分支,并且将无法访问,除非通过确切的提交哈希才能访问。 因此,如果要进行更改,比如修复旧版本中的错误,需要创建一个新分支(也就是基于出问题的tag版本中拉出一条紧急基线处理这个问题):

git checkout -b 分支名 tag名

相关推荐

git rebase调整commit提交的顺序
Git

git rebase调整commit提交的顺序

git rebase调整commit之间顺序一连提交了几笔commit,想调整一下顺序,把其中一笔提交置顶拿到最前面来,专门修改这一笔提交。当然如果想修改某一笔提交,可以reset到那笔commit,进行修改,完成之后再把之后的提交cherry-pick回去。git log查看提交记录,每笔提交记录太多,可以让每笔提交仅显示一行查看 --oneline。使用git rebase -i进入编辑,之前

1.4w
git blame:显示文件的每行提交记录信息
Git

git blame:显示文件的每行提交记录信息

git blame:显示文件的每行提交记录信息git blame对文件的每行信息都进行注释。能看到关于该行修改的每一次commit的哈希标签、作者和提交日期。Intellij IDEA在打开文件的行数右键点击Annotate显示文件每一行的记录信息。应该用的就是这个命令实现的功能。

5.5k
Git可视化工具:Sublime Merge
Git

Git可视化工具:Sublime Merge

Git可视化工具:Sublime Merge同事推荐了一个Git 可视化客户端:Sublime Merge ,由知名文本编辑器 Sublime Text 开发商打造。自己平时用的则是最好用的Git GUI工具:SourceTree,也体验了下Sublime Merge,用起来还不错。直接点击下载或购买后,安装即可。功能免费,完整功能无限制使用。但是订阅内容(比如更换主题)付费。Sublime Me

2.8k