Git基础知识(四)
标签
经常可以看到一些软件的版本是V1.0
,V2.0
这样的,Git也支持给历史的某个提交打上这样一个东西,也就是标签。
创建标签
标签可以分为两种:
它是一个点,指向了某一次的提交。我们可以通过这个标签,获取到那一次提交时候的状态。
我们来创建一个轻量标签:
只需要使用git tag <name>
就可以创建一个标签了
附注标签
包含了打标签者的姓名,邮件,日期,标签信息。
建议使用附注标签
创建附注标签的方式:
git tag -a <name> -m '<tag info>'
我们可以通过git show <name>
来看到标签的具体信息,也就是刚才写在-m
后面部分的内容
给过去的某个提交打标签
过去的很多提交中,可能其中某次提交发生了重大的变更,需要记录一下。我们来为他创建一个标签。
首先查看一下过去的提交历史
1 | git log --pretty=oneline |
比如要对9acd7c5f1267c8003d550b49483282168a0ce1a7
这个提交创建一个标签:
1 | git tag -a v1.2 9acd7c5f1267c8003d550b49483282168a0ce1a7 |
推送标签
我们在本地仓库的全部操作,不进行推送的话,远端都无法接受的变更。
所以我们如果要让其他人也能看到这个标签信息的话,就需要进行推送
git push origin <tagname>
1 | git push origin v1.0 |
origin
对应的远端分支是github,所以去github上看一下
提交上去了,不过时间看上去有点怪怪的。
通过git log
看一下V1.0提交的信息,可以发现确实是2天前,所以远端的时间取得是本地提交的时间,而不是推送的时间。
当然也可以把全部的标签一次性都推送上去
1 | git push origin --tags |
这样就完成了标签的推送了
删除标签
有新增就有删除,所以当我们不要这个标签的时候,我们就可以把它删了
1 | git tag -d <tagname> |
同理,它也只是本地的操作,要把这个变更同步到远端,还是需要进行push操作
1 | git push <remote> :refs/tags/<tagname> |
检出标签
创建标签的意义,很大程度就是这个标签所在的内容会被用到。既然要被使用,就需要进行检出.
1 | git checkout <tagname> |
虽然我们如愿的检出了标签的内容,但是这个时候是处于一个游离的状态,我们当前的修改提交都会丢失掉。如果需要保留,请注意创建一个分支后提交保留。
Git别名
和Linux操作中类似,Git也支持将命令定义为一个别名
1 | git config --global alias.co checkout |
以commit
为例,现在把它重命名为ci
那一次提交请求为
1 | git ci -m 'add 2.py |
当然一整条语句也可以进行别名的替换,如果使用频率非常高的话,可以考虑创建一个别名
例如我们想要查看最后一条提交信息
1 | git log -1 HEAD |
欢迎关注我的公众号:zx94_11