专栏首页YuanXin标签应用和版本管理

标签应用和版本管理

当一个代码仓库进过长时间的迭代,针对不同的时期和需求,必定会有不同的版本。而借助 Git 提供的标签功能,可以快捷方便地记录代码版本。无论什么时候,想取回某个版本,不再需要查找冗长的commit_id,只需要取出打标签的历史版本即可。

可以这么理解:标签是版本库的一个快照。在主流的 Git 平台上,版本可以直接下载的,节省了开发者的不少精力。

下面记录下如何借助 标签 进行版本管理。

1. 环境仿真

首先我在 github 上建立了一个仓库。如你所见,这是一个全新仓库:>>> Star now

执行git clone git@github.com:dongyuanxin/git-demos.git, 将代码库 clone 到本地后。

在根目录下创建一个hello.v1.py文件:touch hello.v1.py。代码如下:

# hello.v1.py
print("This is version 1.0")

2. 本地标签操作

下面记录了本地标签操作的常用命令:

命令

作用

git tag

查看所有标签

git tag

创建标签:tagname

git tag -a -m

为标签 tagname 增加说明 comment

git show

查看标签:tagname 的内容

git tag -d

删除标签:tagname

其中,创建标签 tagname 并且增加说明 comment,可以简写成:git tag -m

Now, 为代码库在本地打上标签:git tag v1.0.0 -m 'v1.0.0正式版本'

3. 标签的远程推送和拉取

在本地打好标签后,需要将标签推送到 Git 平台(比如 GitHub)上,才能留下版本快照,供别人下载使用。

除此之外,还有可能删除已经发布的标签(比如标签命名不合规范)。

下面记录了远程标签操作的常用命令:

命令

作用

git push origin --tags

推送所有标签

git push origin

推送指定标签

我们首先将v1.0.0版本推送到 Github:git push origin v1.0.0

然后,打开仓库,我们会发现releases标签已经变成了 1。

点进去,会发现我们可以直接下载v1.0.0版本。所以,标签是版本的快照。

值得一提的是:标签会随着git clone仓库时候,自动拉取到本地。不信的话可以 clone 一下这个代码仓库,查看是不是已经有了v1.0.0这个标签。

4. 标签的删除

标签的删除请慎重,尤其是删除远程标签(_一般来说,没有人会这么做_)。命令如下:

命令

作用

git tag -d

删除指定标签

git push origin :refs/tags/

删除远程标签

5. 拓展阅读

版本管理可以借助 git 的 tag 来实现。但是,在开发过程中,不可能每次修改都打标签然后发布。

实际开发中,一般会有一个dev分支,作为开发版本分支。在没有完成此次开发任务前,所有的代码都是合并到dev分支。

当完成了开发任务,管理者会将dev分支合并到master分支,然后删除dev分支,并且通过打标签来发布版本。

这就是为什么很多放弃维护的大型开源项目只有master分支的原因。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 设计模式 - 备忘录模式 - JavaScript

    备忘录模式:属于行为模式,保存某个状态,并且在需要的时候直接获取,而不是重复计算。

    心谭博客
  • NodeJS是如何监听文件的变化?

    Keywords: 操作系统差异、识别用户/编辑器操作、连续触发的优化、工程级 API。

    心谭博客
  • 剑指offer - 栈的压入弹出序列 - JavaScript

    题目描述:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列 1,2,3,4,5 是...

    心谭博客
  • 《Pro Git》翻译文2.6 - 打标签

    你也可以使用特定的模式查找标签。例如,Git 自身的源代码仓库包含标签的数量超过 500 个。如果只对 1.8.5 系列感兴趣,可以运行:

    项勇
  • 一文读懂Git

    版本控制就是记录项目文件的历史变化。它为我们查阅日志,回退,协作等方面提供了有力的帮助。

    onlythinking
  • git 入门教程之个性化 git 原

    初识 git 时,我们就已经接触过 git 的基本配置,使用 git config 命令配置用户名和邮箱:

    雪之梦技术驿站
  • 循环、分支...都可以在Python中用函数实现! | 函数式编程,打开另一个世界的大门

    编程界有一位传奇人物——王垠,介绍一下他的退学经历,对,你没听错,退!学!经!历!: 2006年,从清华大学计算机系退学,在水木社区BLOG上发表了《清华梦的...

    数说君
  • ubuntu系统上配置git

    1,首先第一步检查一下本机是否已经安装了git 随便到一个git目录下执行git status或者其他git命令,如果本机没有安装,则会提示你去安装,ubunt...

    fanfan
  • Github入门

    众所周知,GitHub 是为开发者提供 Git 仓库的托管服务。这是一个让开发者与其他人共享代码的完美场所。

    生信编程日常
  • Python函数之匿名函数

    各位小伙伴,周五快乐! 今天是2017年最后一个工作日,大家都在忙碌些什么呢? 今天我们要讲的是Python函数中的匿名函数 好像函数中的分类及说法很多,但是大...

    企鹅号小编

扫码关注云+社区

领取腾讯云代金券