2023年11月29日发(作者:)
JGit⼊门
如果您想知道如何在JGit中执⾏诸如git init , git checkout等基本的Git命令,请继续阅读。
本教程概述了JGit中最常⽤的git命令及其对应的命令。 它逐步执⾏以下步骤:创建存储库,从远程获取内容,向历史记录添加⽂件或从历
史记录中删除⽂件,检查历史记录,最后将更改推回原始存储库。
JGit提供了⼀个类似于Git⾼级命令的API。 代替
git commit -m "My first commit"
在命令⾏上,您将编写
().setMessage( "My first commit" ).call();
在JGit中。
所有都有⼀个call()⽅法,在设置该命令后,该⽅法将⽤于实际执⾏它。 这些类以各⾃的Git命令后缀Command命名。 尽管某些命令提
供了公共构造函数,但建议使⽤Git⼯⼚类来创建命令实例,如上例所⽰。
获取图书馆
填充存储库
现在我们有了⼀个存储库,我们可以开始填充其历史记录。 但是,为了提交⽂件,我们⾸先需要将其添加到所谓的索引(也称为暂存区)
中。 commit命令将仅考虑在索引中添加(或从索引中删除)的⽂件。
使⽤addPath(),可以将StatusCommand配置为仅显⽰某些⽂件的状态。 给定的路径必须命名⽂件或⽬录。 不存在的路径将被忽略,
并且不⽀持正则表达式或通配符。
Status status = ().addPath( "documentation" ).call();
在上⾯的⽰例中,将递归计算“⽂档”⽬录下所有⽂件的状态。
浏览存储库
现在,该存储库具有(⼩的)历史记录,我们将研究该命令以列出现有提交。
JGit的git log副本的最简单形式允许列出从当前HEAD可以访问的所有提交。
Iterable
返回的迭代器可⽤于循环遍历LogCommand找到的所有提交。
该命令返回⼀个可迭代的PushResults。 在上述情况下,迭代器仅包含⼀个元素。 为了验证推送是否成功,可以要求pushResult返回给
定分⽀的RemoteRefUpdate。
RemoteRefUpdate详细描述了更新内容以及更新⽅式。 但是它也有⼀个状态属性,⽤于总结结果。 并且如果状态返回OK,我们可以放⼼
操作成功。
即使该命令在没有给出任何建议的情况下也可以运⾏,但是它具有许多选项,在下⾯仅列出了更常⽤的选项。 默认情况下,该命令将推送
到名为“ origin”的默认遥控器。 使⽤setRemote()可以指定其他远程存储库的URL或名称。 如果其他分⽀⽐当前应该推可以与


发布评论