Nodejs 通过子进程模块 child_process 获取 git 信息(分支,标签)

child_process

child_process 模块提供了衍生子进程的能力,用于在node 环境中执行子进程和其他操作,比如执行.cmd, .bat 和 shell 脚本。
Node.js v12.13.0 文档 child_process

这里可用 API child_process.exec(command[, options][, callback])child_process.execSync(command[, options]) 来获取 git 仓库信息。


git name-rev --name-only HEAD

git-name-rev - 查找给定转速的符号名称
git name-rev --name-only HEAD 这个命令会在终端输出你当前的版本或标签信息。

git name-rev --name-only HEAD 
===> test 

git name-rev --name-only HEAD
===> v4.3.1
组合使用
//同步子进程
const version = child_process.execSync('git name-rev --name-only HEAD', { 'encoding': 'utf8' });
===> v4.3.1 


//异步子进程
const childProcess = require('child_process');

const getVersion = () => {
    return new Promise((resovle, reject) => {
        childProcess.exec(`git name-rev --name-only HEAD`, { encoding: 'utf-8' }, (stdout, error, status, output) => {
            error ? reject(error) : resovle(stdout)
        });
    })
}

getVersion().then(res => {
    console.log(res)
}).catch(e => {
    console.log(e)
})
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值