2017-03-29 1 views
1

リモートリポジトリからすべてのコミットを取得する必要があります。JGitを使ってローカルシステムにダウンロードせずにすべてのコミットを取得するには?

これはリポジトリをローカルシステムに複製する方法ですが、あまりにも多くのファイルがあるので、すべてのファイルをダウンロードすることはお勧めできません。

git = Git.cloneRepository().setURI(repo).setDirectory(pathGit).call(); 
File pathRepo = new File(pathGit.getPath() + "/.git"); 
repository = FileRepositoryBuilder.create(pathRepo); 

この問題を解決するにはどうすればよいですか?

+0

あなたのリモートリポジトリはどこにホストされていますか? GitLab上にある場合は、API [list-repository-commits](https://docs.gitlab.com/ce/api/commits.html#list-repository-commits)をご覧ください。他の場所でホストされている場合は、そのAPIを確認してください。 – SubOptimal

+0

JGitリポジトリインスタンスを取得するには、 'git.getRepository()'で十分です。 –

答えて

1

リポジトリのクローニングは、その履歴にアクセスする唯一の方法です。リポジトリのクローン作成に時間がかかる場合は、将来のアクセスまたは共有アクセス用にキャッシュすることが必要な場合があります。

GitHubのGitLabのようなGitホスティングサービスでは、コミットメタデータを取得するための特殊なREST APIが用意されている場合があります。ただし、これらはそれぞれのサービスホスティング業者に固有のものです。

関連する問題