当前位置: 首页 > news >正文

git 标签相关命令

要在本地仓库中添加标签,你可以使用以下命令:

git tag <tag_name>

这将在当前所处的提交上创建一个轻量级标签(lightweight tag)。如果你想要创建一个带有附注信息的标签,可以使用 -a 选项:

git tag -a <tag_name> -m "tag message"

在这个命令中,-a 表示创建一个带附注的标签,-m 用来指定标签的消息内容。

如果要将标签推送到远程仓库(例如 GitHub 或 GitLab),需使用 git push 命令,并指定 --tags 选项来推送所有标签:

git push origin --tags

这样就可以将本地仓库中的标签推送到远程仓库中,从而与其他开发人员共享这些标签信息。

删除标签 例如删除 1.0.15标签

git tag -d 1.0.15

将上面删除操作推到远端

git push origin :refs/tags/1.0.15

如果是npm包项目,且有gitlab CICD持续集成的还可以结合 .gitlab-ci.yml 做一些自动化发版,

例如

before_script:- echo -e "registry=https://registry.example.com/" >> .npmrcsdk-build:stage: buildonly: - tagsscript:- node ./changeVersion.js- echo -e "\n//registry.example.com/:_authToken=$NPM_ACCESS_TOKEN" >> .npmrc- npm publish

这一段表示添加  .npmrc文件,内容为 registry=https://registry.example.com/

CICD监听到tags变化时,执行changeVersion.js 修改package.json中的版本version,

然后 npm publish进行发版。(注意上文NPM_ACCESS_TOKEN为gitlab中定义变量)

私有npm服务上面最后一步publish后面最好加源

 - npm publish --registry=https://registry.example.com/

changeVersion.js内容如下

const fs = require('fs');// 读取 package.json 文件
fs.readFile('package.json', 'utf8', (err, data) => {if (err) {throw err;}// 解析 package.json 内容const packageJson = JSON.parse(data);// 将 CI_COMMIT_TAG 赋值给 version 字段packageJson.version = process.env.CI_COMMIT_TAG;// 将修改后的内容写回 package.json 文件fs.writeFile('package.json', JSON.stringify(packageJson, null, 2), 'utf8', (err) => {if (err) {throw err;}console.log('package.json 文件中的 version 已更新为 ' + process.env.CI_COMMIT_TAG);});
});

这样即可实现tag标签变化后,自动发版,版本号=tag

http://www.lryc.cn/news/222949.html

相关文章:

  • 我在Vscode学OpenCV 图像运算(权重、逻辑运算、掩码、位分解、数字水印)
  • 【 Docker: 数据卷挂载】
  • windows上的静态链接和动态链接的区别与作用(笔记)
  • MySQL和Postgresql数据库备份和恢复
  • 使用MCU上的I2C总线进行传感器应用
  • 汽车标定技术(七)--基于模型开发如何生成完整的A2L文件(2)
  • ZZ308 物联网应用与服务赛题第E套
  • web相关框架
  • 安装dubbo-admin报错node版本和test错误
  • HTML使用canvas绘制海报(网络图片)
  • 20道高频JavaScript面试题快问快答
  • 【STM32】HAL库UART含校验位的串口通信配置BUG避坑
  • Python实用技巧:将 Excel转为PDF
  • 【面经】讲一下你对jvm和jmm的了解
  • 《网络协议》03. 传输层(TCP UDP)
  • ZooKeeper调优
  • 改进YOLOv5:结合ICCV2023|动态蛇形卷积,构建不规则目标识别网络
  • 开发知识点-NodeJs-npm/Pnpm/Vite/Yarn包管理器
  • Mac上好用的翻译软件推荐 兼容m
  • 软件下载网站
  • java获取近期视频流关键帧与截图
  • arcgis 批量删除Table中的某些Field
  • 工厂设备扫码使用售卖联网开发需要怎么开发开源代码?
  • 软考高级之132个工具和技术
  • 算法通过村第十八关-回溯|白银笔记|经典问题
  • vue2 集成 - 超图 - SuperMap iClient3D for WebGL 及常用方法
  • 应用程序服务器/事件驱动编程/CommonJS介绍
  • 第二十九章 目标检测中的测试模型评价指标(车道线感知)
  • OceanBase 如何通过日志观测冻结转储流程?
  • 深度图(Depth Map)