最重要的 git log
-1 是本地最新 一个 commit
--date=iso 是时间格式
--pretty=format 是 把git log转换成json格式( 来源: https://gist.github.com/textarcana/1306223)
%H 提交对象(commit)的完整哈希字串
%h 提交对象的简短哈希字串
%an 作者(author)的名字
%ae 作者的电子邮件地址
%ad 作者修订日期
%s 提交说明
perl也是个脚本语言,打印用的~
const shell = require('shelljs')
function getLog () {
let _cmd = `git log -1 \
--date=iso --pretty=format:'{"commit": "%h","author": "%aN <%aE>","date": "%ad","message": "%s"},' \
$@ | \
perl -pe 'BEGIN{print "["}; END{print "]\n"}' | \
perl -pe 's/},]/}]/'`
return new Promise((resolve, reject) => {
shell.exec(_cmd, (code, stdout, stderr) => {
if (code) {
reject(stderr)
} else {
resolve(JSON.parse(stdout)[0])
}
})
})
}
async function commit () {
let _gitLog = await getLog()
console.log(_gitLog)
}