使用JGit删除远程Git分支

问题描述 投票:2回答:1

我正在尝试删除名为test的远程分支。运行此代码时我没有任何错误,但是远程分支没有被删除。

'ans'是包含分支ID的目标。

当我使用完整分支时,此代码对我有用。但我必须更改某些内容,因为它不再起作用。

git.branchDelete().setBranchNames(ans).setForce(true).call();
RefSpec refSpec = new RefSpec()
        .setSource(null)
        .setDestination("refs/remotes/origin/test");
git.push().setRefSpecs(refSpec).setRemote("origin").call();
java git git-branch jgit remote-branch
1个回答
3
投票

假设'ans'是本地分支的完整分支名称,例如refs/heads/test branchDelete()代码看起来不错。

但是粘贴到push命令的ref规范的目的地应表示分支的名称,因为该分支的名称在远程端被引用。在这种情况下,refs/heads/test

RefSpec refSpec = new RefSpec().setSource(null).setDestination("refs/heads/test");

或简称

RefSpec refSpec = new RefSpec(":refs/heads/test");
© www.soinside.com 2019 - 2024. All rights reserved.