设为首页 收藏本站
查看: 1181|回复: 0

[经验分享] git的使用入门介绍-4

[复制链接]

尚未签到

发表于 2018-9-17 10:38:15 | 显示全部楼层 |阅读模式
  今天把git基础部分写完,前面几篇文章大致介绍了一下最最基础的用法,下面是最后一个基础性的用法了,就是git的标签
  同大多数的VCS一样,git当然也可以对某一时刻的版本打上标签,来对于发布版本加以特殊的标记,下面我们介绍一下git tag的用法
  1.列出已有的标签
  git tag
  这样就可以了,如果项目中有打过标签,会一一列出,类似下面
  $ git tag
  v0.1
  v1.1
  ...
  标签的顺序不能说明任何问题,只是简单的按照基本的顺序排列,如果你对某一个特殊的标签版本感兴趣,可以这样 git tag -l 'v1.2.4.*',这样也会列出这个版本或许可能存在的小版本,v1.2.4.1、v1.2.4.2,......
  2.新建标签
  git的标签分为两种:轻量级和附注级
  轻量级很好理解,就是一个不会变化的,指向特定提交对象的一个引用
  附注级就不一样了,它是存储在仓库中的一个独立对象,有其自身的校验和信息,有很多的备注的说明,当然使用标签建议使用附注级的,以便保留相关信息
  含附注的标签建立:git tag -a v1.8 -m 'version 1.8',参数 -a 就是建立附注级的标签,-m也是对标签对象的说明,如果你不加-m,git会启动文本编辑器让你添加,就像提交代码一样,建立好之后,git tag查看一下,当然还可以使用git show v1.8来查看更加详细的信息
  3.签署标签
  如果你有自己的私钥,还可以用GPG来签署标签,把-a换成-s就可以了
  git tag -s v1.8 -m 'my signed 1.8 tag'  后面介绍怎么验证已经签署的标签
  4.轻量级标签
  什么参数都不用啦,直接加标签版本就可以
  上面两个git show的信息好好对比一下
  5.验证标签
  使用git tag -v tag-name
  此命令会调用GPG来验证签名,你需要有签署者的公钥,没有就会报错了
  6.后期加注标签
  git log --pretty=oneline 还记得吧,列出每次的提交简单信息,在某次提交后,应该加标签的,结果你忘了,没有关系,现在加也不晚
  比如在这次提交 df8789dfad9ad9f989ad8f98a9988a89a9d8  update all the configure 添加标签,git tag -a v1.8df8789  加上校验和提交对象的前几个字符就可以了
  7.分享标签
  默认情况下,git push不会把标签传送到远端服务器,需要用命令显视操作,类似推送代码到远端服务器,git push origin tag-name
  比如,git push origin v1.5
  如果需要推送你建立的所有标签,加上--tags
  git push origin --tags,这样所有的标签就会都推送到该分支上了,这样其他人,克隆共享仓库或者拉去数据后,也可以看到这些标签了
  两个技巧
  1.自动补全
  使用linux系统的,大家都一定在自动补全的功能,话说,git是linus组织人员开发的,git的自动补全,也很自然而然,git源代码里面有个contrib/completion目录,进去会看到一个git-completion.bash文件,讲此文件复制到你自己的用户主目录中,cp git-completion.bash ~/.git-completion.bash,并在你的.bashrc文件中加入source ~/.git-completion.bash;当然,如果你是系统管理员,想让这个功能在所有用户下都生效,可以放在/etc/bash-completion.d/目录中,重启一个shell,或者source一下,试试吧,很好用
  2.命令别名
  这个原理一样,linux中比如我们使用ll,就相当于使用ls -l,当然git一定要具备了,看下面
  git config --global alias.co checkout
  git config --global alias.ci commit
  git config --global alias.st status
  当你在使用git commit就可以用git ci代替了,很方便吧
  还有更猛的,你可以创造命令,使用git没有,比如:
  git config --global alias unstage 'reset HEAD --'  这样的话,你就创造了一个命令了,git unstage,所以现在git unstage file1 = git reset HEAD file1,来取消暂存文件
  这两个技巧是常用的,提高工作效率,请尽情使用


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-588242-1-1.html 上篇帖子: GIT全方面教学 下篇帖子: Git使用文档
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表