问题标签 [jgit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
101 浏览

git - 如何忽略提交中显示的文件列表

我刚刚将项目从 Bitbucket(GIT) 导入 Eclipse。它工作得很好。当我再次请求 Pull 时,它说一切都是最新的。

但是,如果我尝试提交同一个项目,即使没有更改代码中的任何内容,它也会尝试将所有内容都提交回来。因为我相信它们不应该出现在提交中,因为它们没有被改变。如何标记它们它们没有改变。

0 投票
4 回答
9130 浏览

java - 如何在 JGit 中合并?

如何在 JGit 中合并?

假设我想masterfoo分支合并,我该怎么做?

0 投票
2 回答
1370 浏览

java - 如何使用 jgit 库将 git HEAD 指向特定的参考?

我想以编程方式更新 HEAD 而不执行结帐或基于非裸回购。

我希望工作树和索引在操作后保持不变。

编辑

我需要更新 HEAD 的符号目标,而不是 HEAD 当前目标的提交 ID。这更像是一个结帐,除了我不能使用org.eclipse.jgit.api.CheckoutCommand,因为它需要我更新路径,但我不想接触工作树。org.eclipse.jgit.api.CreateBranchCommand也是不合适的,因为它需要一个特定的起点,因为我正在创建一个孤立分支,所以它不存在。

0 投票
4 回答
12216 浏览

java - JGit 和寻找头部

我正在尝试使用 JGit 进行 HEAD 提交:

我发现它可以很好地打开 repo,但head值设置为null. 我想知道为什么它找不到HEAD?

我正在阅读这份文档:http ://wiki.eclipse.org/JGit/User_Guide

存储库的构建就像文档所说的RevWalk那样,也是如此。我正在使用2.0.0.201206130900-r来自http://download.eclipse.org/jgit/maven的最新版本的 JGit 。

我的问题:我需要在我的代码中进行哪些更改才能让 JGit 返回实际实例,RevCommit而不是null像现在这样?

更新:此代码:

给了我这个例外:No HEAD exists and no explicit starting revision was specified

例外很奇怪,因为一个简单的git rev-parse HEAD告诉我0b0e8bf2cae9201f30833d93cc248986276a4d75,这意味着存储库中有一个 HEAD。我尝试了不同的存储库,我的和其他人的。

0 投票
2 回答
1291 浏览

java - 如何使用 JGit 遍历 Git 存储库并绘制图形

我需要使用 JGit 从 Git 存储库中绘制图表。

我一直在考虑遍历提交的不同方法。我需要能够从分支/提交中绘制图形/图形,并且我还需要能够在任意范围内进行,比如从第 200 次提交到第 250 次提交(跳过最近提交的 200 次) .

我应该如何遍历存储库?使用RevWalk? 我想让它保持足够的性能,我想知道是否有一种明确的方法可以很好地做到这一点。

更新:基本上,我正在考虑制作类似的东西git log --graph -n 50 --skip 200,以创建顺序显示 200-250 次提交之间的存储库图表。现在我只想自己做这件事。:)

更新 2:如果我也可以遍历那些悬空的(没有引用),并用灰色绘制它们,那就太好了。

0 投票
2 回答
1416 浏览

git - JGit 获取命令

我理解 Git fetch 的概念。我想通过 JGit API 中的 FetchCommand 类来获取对象。

我有一个 Git 存储库。例如C:\jGit\.git.

我已经克隆了这个存储库。例如:C:\jGitClone\jGit\.git

我再次克隆了这个存储库。例如C:\Users\user\Desktop\jGitClone\.git.

使用 JGit API 我有一个 Git 类:

我将如何设置桌面上的克隆存储库,以便在调用 fetch 时知道要获取到此存储库中。

我看过一些网站,包括下面的 1,但仍然卡住。

使用 jgit 获取 Git 失败:远程没有可用于获取的 <branchname>

0 投票
0 回答
348 浏览

c# - 用于推/拉结果的 JGit/NGit 包装器

有人可以指出(或分享)JGit/NGit Push/Pull 输出结果的简单包装器吗?如何模仿 CGit 的输出?GUI 中应包含哪些信息?

到目前为止,这是我想出的(我使用的是 Mono/NGit):

0 投票
1 回答
3741 浏览

git - 从 JGit 中的 RevCommit 对象获取提交信息

我调用了 jgit log 命令并取回了一些 RevCommit 对象。我可以从中取回一些基本信息,并使用以下代码获取更改的文件列表。不过,我还需要两件事:

1)当提交没有父母时,我如何获得以下信息?

2)如何获取每个文件中更改的内容的差异

0 投票
3 回答
9634 浏览

java - 您如何为 jgit 设置 jschconfigsessionfactory 的配置以便拉取和推送工作?

我正在尝试使用 jgit 的 api 和以下代码进行 git pull/push

但我遇到了例外

即使使用 cgit pull 和 push 也可以。

我尝试检查示例代码

使用 jgit 的 Java git 客户端

但是上面的问题没有提供完整的编码示例,说明使用通常通过 ssh 密钥进行身份验证的远程 repo 执行 git pull 所需的内容。应该有一种方法可以从~/.ssh/或 windows 等效项获取凭据信息。

0 投票
0 回答
965 浏览

jgit - s3cmd setacl 授予“经过身份验证的用户”

我正在使用jgit 在 s3 中创建一个遥控器。当我执行 ajgit push s3 master时,它会在 s3 中创建由我的 aws 用户(进行推送的用户)拥有的文件。

我希望这些文件也具有“经过身份验证的用户”权限。

我尝试了以下方法:

  • 在 ~/.jgit 文件中设置acl: authenticated-read(这会引发错误,因为据我所知,仅支持“公共”或“私人”。
  • s3cmd通过:修改推送后的 acl s3cmd --add-header=x-amz-acl:authenticated-read setacl --acl-private s3://my.bucket/repo/*。这似乎对文件的 ACL 没有影响(它就像没有运行,但没有错误)

如何执行以下操作之一:

  1. 配置 jgit 以在推送到 s3 时设置“经过身份验证的用户”acl(我更喜欢这个)
  2. 使用 s3cmd(或其他现有命令行工具)将现有文件的 acl 设置为“经过身份验证的用户”