git - 如何使用 JGit 创建和推送标签

标签 git tags push jgit

我正在使用 JGit 克隆存储库,对文件进行一些更改,提交,标记它,然后将其推送到远程存储库。

我已经使用 JGit 编写了代码,它将克隆存储库,在文件中进行一些更改,然后提交更改,创建新标签并推送提交和标签。

Git git = Git.cloneRepository()
             .setURI("https://*****@stash.dts.*****.git")
             .setDirectory(outputFolder)
             .call();

// Some code to update the file
git.add().addFilepattern(".").call();

git.commit().setMessage("File Commit").call();

// Creating tag
git.tag().setName(version).setForceUpdate(true).call();

// Pushing the commit and tag
git.push().call();

推送后,我希望远程存储库显示我的更改和新标签,但使用 commitId 进行的更改显示在远程存储库中,但标签不可见。它显示“无标签”。

最佳答案

要推送所有标签,您需要在调用 PushCommand 之前专门启用此功能。

例如:

List<PushResult> pushResult = git.push().setPushTags().call();

或者,您可以使用 PushCommand::setRefSpecs 设置 refspecs 的列表你希望被 push 。

关于git - 如何使用 JGit 创建和推送标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56864323/

相关文章:

git - Node : git log between tags

gitattributes 没有正确设置 merge 驱动程序

php - 是否可以从 Mysql 行数据中制作元描述和关键字

php - array_push() 和 $array[] 之间的区别 =

git - 使用 git 管理仅限本地的更改

python - 在 Docker 镜像中克隆 git 存储库失败

Mysql - 帮助我更改此搜索查询以获得所需的结果

javascript - 启用不同类型的脚本标签?改变类型属性是不够的

java - MigLayout:推送不符合我的预期

linux - 使用 gitosis 使 GIT 存储库对某些用户只读