我搜索了谷歌、论坛和 JGit 用户指南,但找不到如何使用 API 连接到远程存储库。任何人都有一个例子或只是一个关于如何做到这一点的想法?
谢谢你的帮助。
我搜索了谷歌、论坛和 JGit 用户指南,但找不到如何使用 API 连接到远程存储库。任何人都有一个例子或只是一个关于如何做到这一点的想法?
谢谢你的帮助。
目前,JGit 2.0.0-SNAPSHOT 只提供
org.eclipse.jgit.storage.file.FileRepository
org.eclipse.jgit.storage.dfs.InMemoryRepository
具体Repository
类,这意味着由于org.eclipse.jgit.api.Git
需要 a Repository
,因此无法远程工作。由于 Git 本身并没有像我想的那样设计为远程操作,我怀疑我们很快就会看到这样的功能。
更多信息:
因此,您将需要在本地克隆。你可以通过发出
Git.cloneRepository()
.setURI(myRemoteURIString)
.setDirectory(new File(myLocalPathString))
.call();
但是,出于 Git 一致性的原因,您应该只克隆一个裸存储库,因此远程位置的非裸存储库虽然在技术上不是,但实际上是无法访问的。
我不确定我是否理解这个问题,因为 Git 是为访问其他存储库而设计的,这就是“Git 是分布式的”的意思。
如果您想连接到一个远程存储库,那么是的,您应该克隆它。
我不知道这是否是您正在寻找的,但您也可以使用多个遥控器。再添加一个是使用 Git 使用git remote add <remote_name> <remote_uri>
. 至于 Jgit,不幸的是我不记得简单的代码,但你可以弄清楚这一点。
至少可以通过修改配置,getConfig()
从 Repository 对象调用然后调用setString(...)
它 - 不要忘记最后保存配置。但在修改配置之前,我认为你应该先多了解一下 Git 和 JGit。
我建议您阅读有关它的更多信息,并在您的存储库中进行一些尝试。看看这篇文章:http ://caiustheory.com/adding-a-remote-to-existing-git-repo 。另一个可以帮助您的方法是如何使用 jgit 执行相当于“git 远程更新”的操作?
也许其他人确切地知道要运行哪些命令并且可以提供帮助。