Git描述不提供标签信息的NPM



我正在尝试Git-Description npm包来检索哈希信息和标记,以便稍后附加到我的应用程序中。

我遵循了Git描述npm页面中提供的说明。该脚本运行良好,但此处检索到的标记信息为null。此外,我在本地和远程git中添加了一些标签。

我可以使用git tag -l检索所有标签信息

下面是我试图运行的脚本。

const {gitDescribe, gitDescribeSync} = require('git-describe');

// Another example: working directory, use 16 character commit hash abbreviation
const gitInfo = gitDescribeSync({
customArguments: ['--abbrev=16']
});

// Asynchronous with promise
gitDescribe(__dirname)
.then((gitInfo) => console.dir(gitInfo))
.catch((err) => console.error(err));

// Asynchronous with node-style callback
gitDescribe(__dirname, (err, gitInfo) => {
if (err)
return console.error(err);
console.dir(gitInfo);
});

节点版本.js

输出为:

{
dirty: true,
raw: 'f8f7e57e-dirty',
hash: 'f8f7e57e',
distance: null,
tag: null,
semver: null,
suffix: 'f8f7e57e-dirty',
semverString: null,
toString: [Function]
}

这里的标签信息是空的。但是散列字符串是正确的。(Git日志输出(。

commit **f8f7e57e**713b71b0f9d3181c0d19ffd (HEAD -> PF223095_US1834348_ui_gitcommit, tag: r9.0.6, origin/PF223095_US1834348_ui_gitcommit, mastere)

看起来默认情况下git-descripte只跟踪以v开头的版本,所以像v1.0.0这样的东西有效,而1.0.0失败。

正如@zxiiro所说,默认行为是查找以v开头、后跟数字(v0.9v2.3-dev(的标签。

您可以使用match选项指定自己的regex,本例将匹配以数字(0.92.3-dev99-luft-balloons(开头的标记

const gitInfo = gitDescribeSync({match: '[0-9]*'});

最新更新