Git基础知识(四)

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

image-20190402225027079

推送标签

我们在本地仓库的全部操作,不进行推送的话,远端都无法接受的变更。

所以我们如果要让其他人也能看到这个标签信息的话,就需要进行推送

git push origin <tagname>

1
git push origin v1.0

推送

origin对应的远端分支是github,所以去github上看一下

github端

Tags信息

提交上去了,不过时间看上去有点怪怪的。

通过git log看一下V1.0提交的信息,可以发现确实是2天前,所以远端的时间取得是本地提交的时间,而不是推送的时间。

V1.0信息

当然也可以把全部的标签一次性都推送上去

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
2
3
4
git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.ci commit
git config --global alias.st status

commit为例,现在把它重命名为ci 那一次提交请求为

1
git ci -m 'add 2.py

别名提交

当然一整条语句也可以进行别名的替换,如果使用频率非常高的话,可以考虑创建一个别名

例如我们想要查看最后一条提交信息

1
2
3
git log -1 HEAD
git config --global alias.last 'log -1 HEAD'
git last

最后一条信息

来和我一起学Git吧
欢迎关注我的公众号:zx94_11
公众号

 wechat
欢迎您扫一扫上面的微信公众号,订阅我的博客!
您的支持将鼓励我继续创作!