jgit git pull
无论您打算如何使用现有存储库,都必须先创建一个克隆。 无论您打算做出贡献还是只想看看它的历史,都需要存储库的本地副本。
虽然使用JGit 克隆存储库并不是特别困难,但是有些细节可能值得注意。 并且由于该主题上的在线资源很少,因此本文总结了如何使用JGit API从现有的Git存储库进行克隆。
克隆基础
要制作远程存储库的本地副本,至少需要告知CloneCommand远程存储位置:
Git git = Git.cloneRepository()
.setURI( "https://github.com/eclipse/jgit.git" )
.call();
Git工厂类具有静态的cloneRepository()方法,该方法返回CloneCommand的新实例。 setURI()建议它从哪里克隆,就像所有JGit命令一样,call()方法实际上执行该命令。
尽管远程存储库(顾名思义)通常存储在远程主机上,但setURI()中给定的位置也可以是本地资源的路径。
如果没有提供更多信息,JGit将为您选择克隆存储库的存储目录。 基于当前目录和从其URL派生的存储库名称,将构建目录名称。 在上面的示例中,它是“ / path / to / current / jgit”。
但是通常,您可能希望对目标目录有更多的控制,并明确说明存储本地副本的位置。
setDirectory()方法指定工作目录应位于的位置,并且可以使用setGitDir()设置元数据目录(.git)的位置。 如果省略setGitDir(),则会在工作目录下直接创建.git目录
下面的例子
Git git = Git.cloneRepository()
.setURI( "https://github.com/eclipse/jgi