使用 JGit 删除远程 Git 分支
Removing remote Git branch using JGit
我正在尝试删除一个名为 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();
假设 'ans' 是本地分支的完整分支名称,例如refs/heads/test
branchDelete()
代码看起来没问题。
但是传递给 push 命令的 ref spec 的目的地应该表示分支的名称,因为它在远程端被引用。在这种情况下 refs/heads/test
RefSpec refSpec = new RefSpec().setSource(null).setDestination("refs/heads/test");
或者简而言之
RefSpec refSpec = new RefSpec(":refs/heads/test");
我正在尝试删除一个名为 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();
假设 'ans' 是本地分支的完整分支名称,例如refs/heads/test
branchDelete()
代码看起来没问题。
但是传递给 push 命令的 ref spec 的目的地应该表示分支的名称,因为它在远程端被引用。在这种情况下 refs/heads/test
RefSpec refSpec = new RefSpec().setSource(null).setDestination("refs/heads/test");
或者简而言之
RefSpec refSpec = new RefSpec(":refs/heads/test");