问题标签 [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 投票
2 回答
6115 浏览

git - Egit 钩子不会被触发

我有一个带有预提交钩子的 git repo,它在 100% 的时间里故意失败。

如果我尝试通过命令行提交,它会按预期失败。但是,如果我从 egit 提交,则挂钩将被忽略并提交更改。

egit/jgit 还不能识别钩子吗?有解决方法吗?

提前致谢!

0 投票
1 回答
2304 浏览

java - jgit 存储库浏览器

我想用 jgit 创建一个 git 存储库浏览器。但我不知道如何获取文件的最后修改日期和最后提交消息。这是我当前的浏览器代码:

有可能获得文件的最后一次提交吗?

注意:我的 git 存储库是一个没有工作副本的裸存储库。

0 投票
4 回答
4313 浏览

java - 如何将 Git 服务器编写或打包为 Java Servlet 或 Java webapp?

Git 显然很棒,并且各种客户端都可用且易于安装,适用于所有平台。

然而,为团队启动和运行 Git 服务器是一个挑战。

我有点惊讶,还没有一个易于部署的 Java-Git 应用服务器或 webapp。看起来 Gitosis、Gitolite 等是在其他堆栈上运行的一些选项,但如果您已经在运行 Java 堆栈,那么部署 Java servlet 或 webapp 是最简单的。

沿着这些思路,我想知道如何编写 Java 'Git Server' webapp?

JGit 能在多大程度上帮助您实现一个简单的实现?将 JGit 打包为一个 Web 应用程序以便能够对其进行推/拉以及轻松创建新的存储库需要做什么?

0 投票
1 回答
1218 浏览

branch - 如何使用 ngit(或 jgit)将现有仓库的跟踪设置为远程仓库?

我正在开发一个基于 gui 的辅助实用程序,它将:

  • 初始化本地仓库,初始化(裸)远程仓库
  • 根据项目类型添加 .gitignore
  • 在本地提交所有文件
  • 将远程仓库添加到本地配置
  • 将 master 推送到远程仓库
  • 创建一个develop分支并推送到master

所有这些都是在没有安装 git 的情况下使用 ngit(jgit 的 .NET 端口)完成的。

但我不知道如何设置跟踪以跟踪 master 到 origin/master 并仅使用 ngit开发到 origin/develop 。

我可以轻松做到

但是,我希望避免依赖本地 git install。

0 投票
4 回答
7668 浏览

maven - 如何在 Maven 中使用 JGit

我是 GIT 新手,想使用 JGit 创建存储库并将其从 Java maven 项目中的其他操作旁边删除。我想知道为此需要哪些依赖项。

以下链接是我读到的关于 JGit http://wiki.eclipse.org/JGit/User_Guide#Getting_Started

0 投票
4 回答
3056 浏览

git - 有没有比 Git 更好的数据库(具有可序列化、不可变、版本化的树)?

想象一下 Git 背后的数据结构。它就像一个融合的持久数据结构,除了使用散列引用而不是传统的指针。

我需要 Git 的数据结构,除了没有任何工作树和索引的东西。并且会有数百万个分支机构,每个分支机构都跟踪少数其他本地分支机构。不同线程上每分钟会发生数千次提交和合并。每秒都会发生拉动。

libgit2jgit之间,我可以使用 Git 的数据存储子系统。

但是我是否使用了正确的工具来完成这项工作?是否有具有 git 功能但更快/更多并发/可扩展/更少阻抗不匹配的数据库?内存缓存写入将非常有帮助。

任务:

一个协作编辑的游戏。每个玩家都有自己的分支,他们对游戏世界所做的每一次改变都只适用于他们的版本。更改由受信任的用户合并回“主”分支。数据和源代码通常捆绑在一起,需要相同的分支和合并功能。

0 投票
3 回答
7383 浏览

java - JGit checkout vs `git checkout` 问题

tl; JGit博士在命令行工作正常checkout时抛出异常git checkout

我目前正在尝试使用 JGit 从 Java 中的在线 Git 存储库中检查某些修订(用于工作)。我目前的方法是(我对 Git 很陌生,来自 SVN 背景,所以这可能是错误的):

  • 将存储库克隆到我硬盘上的临时位置
  • 找出我想要的版本,(我尝试使用 SHA-1 哈希以及分支名称)
  • 签出该修订版
  • 从那里,我将使用签出的文件作为程序稍后部分的输入。
  • 签出不同的修订
  • 使用这些文件作为程序另一部分的输入

本质上,我希望能够将我的临时文件夹的内容与任何修订版交换。使用命令行界面,我已经能够使用git checkout masterand来执行此操作git checkout dylanbranch(其中 dylanbranch 是我在自己的克隆上创建的一个分支,带有任意选择的修订版),但是我尝试执行相同操作的 Java 代码失败了:

并将异常打印到控制台:

我可以验证有问题的文件是否被标记为已删除并且没有通过使用暂存以进行提交,git status尽管我不确定为什么这些更改存在,并且只要我切换回 master 分支,它们就会回来。尽管如此,我仍然可以使用命令行 Git 成功更改工作树。

所以我的问题是:当命令行 git 可以时,为什么 JGit 不能用于此应用程序?感谢任何其他有用的信息-教育我:)

更新我一直在使用 jQuery 存储库进行测试,并注意到 JGit 的更多问题:当我使用“master”分支时,git status我觉得我是#On branch master并且有nothing to commit (working directory clean),但是使用 JGit 的状态命令我看到那test/qunitsrc/sizzle被标记为Missing。JGit 的重置似乎什么也没做。

0 投票
2 回答
6005 浏览

jgit - JGit:检索与 git 提交关联的标签

我想使用 JGit API 来检索与特定提交哈希关联的标签(如果有的话)?

请提供相同的代码片段。

0 投票
1 回答
428 浏览

java - JGit:计数对象

如何检索存储库中的 git 对象总数?(我git count-objects在 JGit 中搜索类似的东西。)

我制作了一个 Java 程序来计算统计值,并且必须读取 git 存储库的每个对象(blob、tree、commit、tag)。进度条之类的东西应该向用户显示已经处理了多少对象。所以我需要 git 对象的总数。

0 投票
2 回答
1895 浏览

eclipse-plugin - 如何通过EGit/JGit插件为Git事件创建监听器?

我一直在使用 Subclipse API 为 Eclipse 创建一个插件,用于侦听通过 Subclipse 插件发生的 Subversion 事件。我基本上是在实现一个侦听器接口,然后在运行时收到有关正在发生的事件的通知。

我想做类似的事情,但对于 Git。在使用另一个插件时,EGit(基于 JGit 构建)似乎是最佳选择。不过,我对他们的 API 没有太多经验。我想知道是否有人知道 EGit 或底层 JGit 是否具有用于侦听 Git 事件(如提交、推送、拉取等)的类似 API 接口?

谢谢!