有没有一种用JavaScript读取Git标签的方法?

3

我将使用Git标签对代码库进行标记,但我还想在我的应用程序中显示此标签,以便测试人员知道他们正在测试哪个版本。

有没有一种方法可以使用JavaScript读取当前的Git标签?

顺便说一下,我使用Grunt.js构建应用程序。然而,最好使用原生JS解决方案。


如果这是可能的话我会感到惊讶。JavaScript 纯粹是客户端的,而 git 标签存在于服务器上。客户端不具备 git 的概念。 - Matt Lishman
谢谢。在这种情况下,也许有一种方法可以使用 Grunt.js 包在我的构建脚本中读取它。 - shrewdbeans
1
哦,完全可以实现。 - theaccordance
2个回答

2
isomorphic-git有一个listTags()函数可以实现这个功能。该软件包可作为npm包使用。以下是从API文档中复制的示例代码片段:
let tags = await git.listTags({ dir: '.' })
console.log(tags)

目前,isomorphic-git不支持创建标签(在撰写本文时,该软件包的最新版本为0.37.3)。然而,有一个GitHub问题表明已经开始了这项工作,并将在未来添加。

截至2023年2月,它支持创建标签。 - Dr. Vortex

1
使用 git-rev-sync 包,您可以创建一个自定义任务来检索当前标签并将其存储为 grunt.option 以在 grunt 任务的其他地方使用:
var git = require('git-rev-sync');

function currentGitTag() {
    var currentTag = git.tag();
    grunt.option('tag', currentTag);
}

grunt.registerTask('gitTag', currentGitTag);

要访问grunt中的值:grunt.option('tag');

您还可以通过模板字符串访问该值:<%= grunt.option('tag') %>


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接