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