nodejs获取 git日志 git 记录 git log 转换 json格式

最重要的 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)
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Git 命令行学习笔记 Git 基础 基本原理 客户端并不是只提取最新版本的文件快照,而是把代码仓库完整的镜像下来...
    sunnyghx阅读 9,433评论 0 11
  • Git 基础 基本原理 客户端并不是只提取最新版本的文件快照,而是把代码仓库完整的镜像下来。这样一来,任何一处协同...
    __silhouette阅读 16,098评论 5 147
  • Add & Commit git init 初始化一个 Git 仓库(repository),即把当前所在目录变成...
    冬絮阅读 10,414评论 0 9
  • 40、棠梨煎雪,这是一首颂简单又忧伤的小女儿友情的歌,听着听着心下缓缓,谁家姑娘不是如此,索性换了换网名,我总觉得...
    江蓝蓝阅读 2,778评论 0 0
  • 今天我和妈妈洗衣服了,洗了好多好多,我还帮妈妈刷了鞋子,还和妈妈一起打扫卫生,好累的一天
    李雨萌5103阅读 1,414评论 0 0

友情链接更多精彩内容