我试图通过以下方式使用CheckoutCommand
:
Git git = new Git(repository);
CheckoutCommand checkoutCommand = git.checkout();
checkoutCommand.setUpstreamMode(CreateBranchCommand.SetupUpstreamMode.SET_UPSTREAM);
checkoutCommand.setStartPoint("origin/" + branchName);
checkoutCommand.setCreateBranch(true);
checkoutCommand.setForce(true);
checkoutCommand.call();
我也尝试使用SetupUpstreamMode.TRACK
,但它仍然失败。
这会导致一种奇怪的行为: 删除存储库内容,而是创建每个远程分支的克隆。
你能告诉我吗?
答案 0 :(得分:1)
您没有设置要创建的分支的名称,这应该导致call()
上的异常(您是否有可能吞下它?)。添加如下调用:
checkoutCommand.setName(branchName);
请参阅documentation of CheckoutCommand(上面提到here)。
另请注意,这些调用可以链接,因此您也可以这样写:
git.checkout().setCreateBranch(true).setName(branchName) // ...