首页 > 解决方案 > 有没有办法根据条件过滤标签

问题描述

嗨,我有一个 Git Repo,在 Repo 内我有不同的项目,在每次提交时,我都会给出一个标签名称。现在,当我尝试检索标签列表时,我将使用以下代码获取与该存储库对应的所有标签名称。

FileRepositoryBuilder repositoryBuilder = new FileRepositoryBuilder();
    repositoryBuilder.addCeilingDirectory(new File("D:\\TestRepo"));
repositoryBuilder.findGitDir(new File("D:\\TestRepo\\.git"));
Repository repo = repositoryBuilder.build();

List<String> tagList = new ArrayList<String>();
Map<String, Ref> tags = repo.getTags();
for (Map.Entry<String, Ref> entry : tags.entrySet()) {
     tagList.add(entry.getKey());
}

这里的 TestRepo 是我的 Git 存储库,在里面我有不同的项目,比如 Proj1、Proj2、Proj3。

我分别使用标签 ID P1v1.1 和 P1v1.2 提交了 Proj1 两次,使用标签 id P2v1.1 提交 Proj2 和使用标签 id P3v1.1 提交 Proj3。

使用上面的代码,我得到所有标签 ID,如下所示 [P1v1.1,P1v1.2,P2v1.1,P3v1.1]

但我想获得特定于项目的标签 ID。是否有任何方法可以根据搜索条件获取标签 ID,例如如果我想要 Proj1,那么它应该只给出 [P1v1.1,P1v1.2]

标签: gitgithubegitjgit

解决方案


推荐阅读