首页 > 其他分享 >git操作修改历史版本tag标签的代码,并发布新标签

git操作修改历史版本tag标签的代码,并发布新标签

时间:2023-09-08 15:22:15浏览次数:47  
标签:git 1.0 标签 v1.0 tag 版本 bugfix

场景:

当项目已经迭代多个版本之后,突然发现旧版本1.0.1出现了紧急bug,需要及时处理;
如果直接用新版本替换上去是存在极大隐患的,且时间来不及;
所以需要直接在1.0.1版本的基础上去修复bug,然后发布一个新版本去更新,这样才会更加稳妥,影响范围也会最小;

操作流程如下:

1. 列出所有标签

git tag

 2. 发现1.0.1标签时的历史版本代码出现了问题,针对1.0.1标签时的代码建一个用于紧急处理bug的分支

# 新建一个分支,指向某个tag
$ git checkout -b [branch] [tag]

 3. 在bugfix-1.0.1分支上处理完bug,本地提交后, 再打一个新标签为1.0.1-bugfix

$ git tag v1.0.1-bugfix

4. 推送v1.0.1-bugfix新标签到远程仓库

git push --tags

5. 将bugfix-1.0.1分支合并到主分支

# 先切换到master主分支
$ git checkout master
# 合并bugfix-1.0.1分支
$ git merge bugfix-1.0.1
# 推送到远程仓库
$ git push 

6. 清理本地分支

git branch -D bugfix-1.0.1

注意, 此时tag为v1.0.1-bugfix即可修正后的tag版本, 但是这里有个问题, 就是之前已经打过tag的版本(v1.0.2, v1.0.3)是没有修复此bug的, 需要重新更新这两个tag版本, 

方式1: 按上述方式依次修正v1.0.2和v1.0.3, 这样会重新产生两个版本: v1.0.2-bugfix, v1.0.3-bugfix

方式2: 按上述方式第3步在分支中处理完bug本地提交后, 将本地修正对应的tag及远程对应的tag删除掉, 然后按原tag名重新打tag, 后续步骤和上述雷同

 

标签:git,1.0,标签,v1.0,tag,版本,bugfix
From: https://www.cnblogs.com/Baker-Street/p/17687685.html

相关文章

  • git
    查看修改的代码状态(绿色/红色)gitstatus查看当前分支以及所有分支gitbranch-a切换分支,若没有该分支,则创建分支gitcheckout-bwXXXXXXXXXXXXXXXXXX查看某个位置的修改gitdiff+文件或文件夹将修改过的文件回退gitcheckout.将修改过的文件进行添加到临时位置gitadd.......
  • js中监听到浏览器标签页的新增、切换等变化
    在JavaScript中,可以使用visibilitychange事件来监听浏览器标签页的新增、切换等变化。这个事件会在页面的可见性状态发生变化时触发。下面是一个示例代码,展示如何使用visibilitychange事件来监听标签页的变化:document.addEventListener('visibilitychange',function(){......
  • 记用ssh 管理github代码
    ssh-keygen-trsa生成密钥,然后github上添加公钥https://juejin.cn/post/7106389042060591117之后gitremoteset-urlgit@***.com修改远程url为sshhttps://confluence.atlassian.com/bitbucketserverkb/bitbucket-server-git-operations-fails-with-error-fatal-unable-to-ac......
  • SourceTree 解决 git 合并冲突
    本文主要根据以下两个场景,介绍SourceTree解决冲突的三种情形本地分支代码合入test、beta分支拉取master代码分支合入本地分支,1、使用他人版本解决冲突(拉取master代码合入本地分支)使用他人版本解决冲突,会自动将当前分支对应文档更改成他人文档内容,此时该文档从未暂存文件......
  • 【效率提升】手把手教你如何使用免费的 Amazon Code Whisperer 提升开发效率堪比 GitH
    说明GitHubcopilot虽然很强,但是一个月10美金的费用拿来吃个小火锅他不香吗?而身为云计算博主将向你推荐一款可以平替GitHubcopilot并且免费的支持多种编程语言的AI编程助手AmazonCodeWhisperer。亚马逊云科技开发者社区为开发者们提供全球的开发技术资源。这里有技术......
  • Learn Git in 30 days——第 13 天:暂存工作目录与索引的变更状态
    写的非常好的一个Git系列文章,强烈推荐原文链接:https://github.com/doggy8088/Learn-Git-in-30-days/tree/master/zh-cn有没有遇过这种情境,某个系统开发写到一半,结果被老板或客戶「插单」,被要求紧急修正一个现有系统的Bug或添加一个功能,眼前的程序即将完成,老板的「急件」又不......
  • GitHub workflows env All In One
    GitHubworkflowsenvAllInOne$GITHUB_ENVdocsGITHUB_ENVenvironmentfile#把变量和值`>>`追加到GITHUB_ENV环境变量文件中echo"{environment_variable_name}={value}">>"$GITHUB_ENV"steps:-name:Setthevalueid:step_......
  • Vue简单浮动标签(simple floating labels)
    简介及使用教程Vue简单浮动标签(simplefloatinglabels)是一个基于Vue.js的简单浮动表单标签组件,支持自定义颜色、边框及错误信息。安装npmivue-simple-floating-labels使用引入组件importFloatingLabelfrom'vue-simple-floating-labels'exportdefault{......
  • gitee官网创建仓库和git操作【命令行】
     创建git仓库:  用户信息获取-git获取全局配置gitconfig--list--获取用户名gitconfiguser.name--获取邮箱gitconfiguser.email--创建仓库文件夹mkdirmemorandumcdmemorandum--git初始化gitinit--创建文件touchREADME.md--文件加入git控制gitaddREADME......
  • gitee官网创建仓库和git操作【TortoiseGit小乌龟】
     操作流程:登陆官网创建仓库,本地git克隆后添加文件后提交。没有账号要先注册账号。 官网地址:https://gitee.com/  新建仓库    创建后:  点击“初始化readme文件”按钮。  到本地克隆:    输入gitee的账号密码: 拉取完成: 拉取后本地文......