我正在克隆一个远程存储库,并希望签出几个分支以与它们互操作(而不对工作目录应用更改)。
所以我克隆了存储库:
CloneCommand clone = Git.cloneRepository();
clone.setURI(project.getUrl());
clone.setDirectory(new File(RepositoryHandlerHelper
.getFilePath(project)));
clone.setCredentialsProvider(getCredentials());
clone.setCloneAllBranches(true);
clone.call();
那行得通。现在我在本地硬盘上创建远程分支(循环):
git.branchCreate().setName(currentBranchToBuild)
.setUpstreamMode(SetupUpstreamMode.TRACK)
.call();
这也有效。我不确定这是必要的。之后我尝试检查每个分支:
git.checkout().setName(currentBranchToBuild).call();
我确定正确的分支名称已提交到setName()
. 没有抛出异常,但该命令似乎对我的工作目录没有任何影响。
我在这里错过了什么吗?