使用JGit删除远程Git分支

时间:2015-11-01 13:08:26

标签: java git git-branch jgit remote-branch

我正在尝试删除名为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();

1 个答案:

答案 0 :(得分:2)

假设' 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" );