如果您想知道如何在JGit中执行诸如git init
, git checkout
等基本的Git命令,请继续阅读。
本教程概述了JGit中最常用的git命令及其对应的命令。 它逐步执行以下步骤:创建存储库,从远程获取内容,向历史记录添加文件或从历史记录中删除文件,检查历史记录,最后将更改推回原始存储库。
JGit提供了一个类似于Git高级命令的API。 代替
git commit -m "My first commit"
在命令行上,您将编写
git.commit().setMessage( "My first commit" ).call();
在JGit中。
所有JGit命令都有一个call()方法,在设置该命令后,该方法将用于实际执行它。 这些类以各自的Git命令后缀Command命名。 尽管某些命令提供了公共构造函数,但建议使用Git工厂类来创建命令实例,如上例所示。
获取图书馆
但是在进一步研究JGit API之前,让我们先掌握该库。 获取JGit的最常见方法可能是从Maven存储库中。 但是,如果您更喜欢OSGi捆绑软件,那么还可以使用p2存储库。 下载页面列出了集成库所需的信息。
对于本文的范围,在项目/捆绑包org.eclipse.jgit中集成所谓的核心库就足够了。 如果您对JGit源代码存储库中的内容还有兴趣,我建议您阅读JGit源代码简介。
创建一个仓库
首先,我们需要一个存储库。 为了掌握这种情况,我们可以初始化一个新的存储库或克隆一个现有的存储库。
InitCommand使我们可以创建一个空的存储库。 下一行
Git git = Git.init().setDirectory( "/path/to/repo" ).call();
将在给setDirectory()的位置创建一个带有工作目录的存储库。 .git目录将直接位于/path/to/repo/.git中。 有关InitCommand的详细说明,请阅读使用JGit初始化Git存储库 。
可以使用CloneCommand克隆现有的存储库
Git git = Git.cloneRepository()
.setURI( "https://github.com/eclipse/jgit.git" )
.setDirectory( "/path/to/repo" )
.call();
</