我有这个:
nodegit.Reference
.lookup(repo, `refs/tags/${tagName}`)
.then(ref => nodegit.Commit.lookup(repo, ref.target()))
.then(commit => ({
tag: tagName,
hash: commit.sha(),
date: commit.date().toJSON(),
}))
如果 tagName 只是提交的别名,则此代码有效,但如果标签是使用 nodegit 创建的正确标签,则会给我一个错误:
the requested type does not match the type in the ODB
使用git show [tagname]
时显示如下:
tag release_2017-07-21_1413
Tagger: xxx
Date: Fri Jul 21 16:13:47 2017 +0200
commit c465e3323fc2c63fbeb91f9b9b43379d28f9b761 (tag: release_2017-07-21_1413, initialRelease)
那么我如何从这个标签引用中获得提交本身(c465e)?