リモート リポジトリのクローンを作成していて、複数のブランチをチェックアウトしてそれらと相互運用したい (作業ディレクトリに変更を適用せずに)。
だから私はリポジトリを複製します:
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()
ます。例外はスローされませんが、コマンドは作業ディレクトリに影響を与えないようです。
ここで何か不足していますか?