使用Node.js和Shell脚本自动打Git tag

1,302 阅读1分钟

| tag命令

创建tag:git tag -a tag名 -m "描述"

删除标签:git tag -d tag名

将tag提交到git服务器:git push origin tag名

查看标签的版本信息:git show v0.0.1

| 代码

const { exec } = require('child_process');

const version = process.argv[2];
const message = process.argv[3] || `Release ${version}`;

if (!version) {
  console.log('Please provide a version number.');
  process.exit(1);
}

// 执行Git命令创建并推送Tag
exec(`git tag -a v${version} -m "${message}" && git push origin v${version}`, (error, stdout, stderr) => {
  if (error) {
    console.error(`Exec error: ${error}`);
    process.exit(1);
  }
  console.log(`Git tag v${version} created and pushed successfully.`);
});

这个脚本首先从命令行参数中获取要打的Tag的版本号和提交信息
然后使用child_process模块的exec函数执行Git命令,创建并推送Tag
如果出现错误则会打印错误信息并退出脚本,否则会输出成功信息