7

Google、フォーラム、JGit ユーザー ガイドを検索しましたが、API を使用して離れたリポジトリに接続する方法が見つかりませんでした。誰かが例を持っているか、それを行う方法についてのアイデアを持っていますか?

ご協力いただきありがとうございます。

4

2 に答える 2

5

現在、JGit 2.0.0-SNAPSHOT は、

org.eclipse.jgit.storage.file.FileRepository
org.eclipse.jgit.storage.dfs.InMemoryRepository

具象Repositoryクラス、つまり がorg.eclipse.jgit.api.GitかかるためRepository、リモートで作業することはできません。Git 自体は、あなたが言っているようにリモートで操作するようには設計されていないため、すぐにそのような機能が表示されるとは思えません。

詳細:

したがって、ローカルで複製する必要があります。あなたは発行することによってそれを行います

    Git.cloneRepository()
       .setURI(myRemoteURIString)
       .setDirectory(new File(myLocalPathString))
       .call();

ただし、Git での一貫性の理由から、ベア リポジトリのみをクローンする必要があります。そのため、リモートの場所にある非ベア リポジトリは、技術的にではありませんが、実際にはアクセスできません。

于 2012-04-25T14:19:17.293 に答える
0

Gitは他のリポジトリにアクセスするために作成されているため、質問を理解できません。これが「Gitが配布される」という意味です。

1つの離れたリポジトリに接続する場合は、クローンを作成する必要があります。

それがあなたが探しているものかどうかはわかりませんが、複数のリモートを使用することもできます。もう1つ追加するには、Gitでを使用しgit remote add <remote_name> <remote_uri>ます。Jgitに関しては、残念ながらそれを簡単に行うためのコードを思い出せませんが、これは理解できます。

少なくとも、構成を変更getConfig()し、リポジトリオブジェクトから呼び出してから呼び出すsetString(...)ことで可能になります。最後に、構成を保存することを忘れないでください。ただし、構成を変更する前に、まずGitとJGitについて詳しく知る必要があると思います。

それについてもっと読んで、リポジトリで少し遊んでみることをお勧めします。この記事を見てください:http://caiustheory.com/adding-a-remote-to-existing-git-repo。将来的に役立つもう1つの方法は、jgitで「gitremoteupdate」に相当する方法を教えてください。

たぶん、他の誰かが実行するコマンドを正確に知っていて、助けることができます。

于 2012-05-20T20:20:53.317 に答える