命令"/>
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=/" >> .npmrcsdk-build:stage: buildonly: - tagsscript:- node ./changeVersion.js- echo -e "\n//registry.example/:_authToken=$NPM_ACCESS_TOKEN" >> .npmrc- npm publish
这一段表示添加 .npmrc文件,内容为 registry=/
CICD监听到tags变化时,执行changeVersion.js 修改package.json中的版本version,
然后 npm publish进行发版。(注意上文NPM_ACCESS_TOKEN为gitlab中定义变量)
私有npm服务上面最后一步publish后面最好加源
- npm publish --registry=/
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
更多推荐
git 标签相关命令
发布评论