问题标签 [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.
git - 如何忽略提交中显示的文件列表
我刚刚将项目从 Bitbucket(GIT) 导入 Eclipse。它工作得很好。当我再次请求 Pull 时,它说一切都是最新的。
但是,如果我尝试提交同一个项目,即使没有更改代码中的任何内容,它也会尝试将所有内容都提交回来。因为我相信它们不应该出现在提交中,因为它们没有被改变。如何标记它们它们没有改变。
java - 如何在 JGit 中合并?
如何在 JGit 中合并?
假设我想master
与foo
分支合并,我该怎么做?
java - 如何使用 jgit 库将 git HEAD 指向特定的参考?
我想以编程方式更新 HEAD 而不执行结帐或基于非裸回购。
我希望工作树和索引在操作后保持不变。
编辑
我需要更新 HEAD 的符号目标,而不是 HEAD 当前目标的提交 ID。这更像是一个结帐,除了我不能使用org.eclipse.jgit.api.CheckoutCommand
,因为它需要我更新路径,但我不想接触工作树。org.eclipse.jgit.api.CreateBranchCommand
也是不合适的,因为它需要一个特定的起点,因为我正在创建一个孤立分支,所以它不存在。
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。我尝试了不同的存储库,我的和其他人的。
java - 如何使用 JGit 遍历 Git 存储库并绘制图形
我需要使用 JGit 从 Git 存储库中绘制图表。
我一直在考虑遍历提交的不同方法。我需要能够从分支/提交中绘制图形/图形,并且我还需要能够在任意范围内进行,比如从第 200 次提交到第 250 次提交(跳过最近提交的 200 次) .
我应该如何遍历存储库?使用RevWalk
? 我想让它保持足够的性能,我想知道是否有一种明确的方法可以很好地做到这一点。
更新:基本上,我正在考虑制作类似的东西git log --graph -n 50 --skip 200
,以创建顺序显示 200-250 次提交之间的存储库图表。现在我只想自己做这件事。:)
更新 2:如果我也可以遍历那些悬空的(没有引用),并用灰色绘制它们,那就太好了。
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,但仍然卡住。
c# - 用于推/拉结果的 JGit/NGit 包装器
有人可以指出(或分享)JGit/NGit Push/Pull 输出结果的简单包装器吗?如何模仿 CGit 的输出?GUI 中应包含哪些信息?
到目前为止,这是我想出的(我使用的是 Mono/NGit):
git - 从 JGit 中的 RevCommit 对象获取提交信息
我调用了 jgit log 命令并取回了一些 RevCommit 对象。我可以从中取回一些基本信息,并使用以下代码获取更改的文件列表。不过,我还需要两件事:
1)当提交没有父母时,我如何获得以下信息?
2)如何获取每个文件中更改的内容的差异
java - 您如何为 jgit 设置 jschconfigsessionfactory 的配置以便拉取和推送工作?
我正在尝试使用 jgit 的 api 和以下代码进行 git pull/push
但我遇到了例外
即使使用 cgit pull 和 push 也可以。
我尝试检查示例代码
但是上面的问题没有提供完整的编码示例,说明使用通常通过 ssh 密钥进行身份验证的远程 repo 执行 git pull 所需的内容。应该有一种方法可以从~/.ssh/
或 windows 等效项获取凭据信息。
jgit - s3cmd setacl 授予“经过身份验证的用户”
我正在使用jgit 在 s3 中创建一个遥控器。当我执行 ajgit push s3 master
时,它会在 s3 中创建由我的 aws 用户(进行推送的用户)拥有的文件。
我希望这些文件也具有“经过身份验证的用户”权限。
我尝试了以下方法:
- 在 ~/.jgit 文件中设置
acl: authenticated-read
(这会引发错误,因为据我所知,仅支持“公共”或“私人”。 s3cmd
通过:修改推送后的 acls3cmd --add-header=x-amz-acl:authenticated-read setacl --acl-private s3://my.bucket/repo/*
。这似乎对文件的 ACL 没有影响(它就像没有运行,但没有错误)
如何执行以下操作之一:
- 配置 jgit 以在推送到 s3 时设置“经过身份验证的用户”acl(我更喜欢这个)
- 使用 s3cmd(或其他现有命令行工具)将现有文件的 acl 设置为“经过身份验证的用户”