当前位置: 首页 > 面试题库 >

如何在JGit中合并?

辛建业
2023-03-14
问题内容

如何在JGit中合并?

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


问题答案:

要合并,您可以MergeCommand在之后使用(在org.eclipse.jgit.api包中)CheckoutCommand。为了给您提供示例,因为Jgit确实缺少示例:

Git git = ... // you get it through a CloneCommand, InitCommand 
              // or through the file system

CheckoutCommand coCmd = git.checkout(); 
// Commands are part of the api module, which include git-like calls
coCmd.setName("master");
coCmd.setCreateBranch(false); // probably not needed, just to make sure
coCmd.call(); // switch to "master" branch

MergeCommand mgCmd = git.merge();
mgCmd.include("foo"); // "foo" is considered as a Ref to a branch
MergeResult res = mgCmd.call(); // actually do the merge

if (res.getMergeStatus().equals(MergeResult.MergeStatus.CONFLICTING)){
   System.out.println(res.getConflicts().toString());
   // inform the user he has to handle the conflicts
}

我没有尝试该代码,因此它可能并不完美,但这只是一个开始。而且我没有包括进口。使用JGit开发意味着基于Javadoc的许多尝试



 类似资料:
  • 问题内容: 不久前,我正在寻找Java中的可嵌入的分布式版本控制系统,我想我已经在JGit中找到了它,它是git的纯Java实现。但是,示例代码或教程的方式并不多。 如何使用JGit检索某个文件的HEAD版本(就像或应该做)? 我想这涉及一些rev-tree-walking,并且正在寻找代码示例。 问题答案: 不幸的是,Thilo的答案不适用于最新的JGit API。这是我找到的解决方案: 我希望

  • 我正在使用JGit的Class Repository用java编写我的程序。 此类具有方法解析(String recstr)。 基本上,这个方法解析git修订字符串并返回一个对象id。支持这些运算符的特定组合:< br > SHA-1:完整或简略的SHA-1参考文献/...:完整的引用名称< br >短名称:refs/heads、refs/tags或refs/remotes命名空间下的短引用名称<

  • 问题内容: 我有以下git命令: 有可能在JGit中实现吗? 如果是,那么用JGit编写的等效方法是什么? 问题答案: 要访问存储库的历史记录,JGit提供了。它的方法用于指定历史记录应从哪个提交开始。存储库中的所有引用都可以通过获取。 一旦一个实例设置,使用它的迭代器或它的方法来遍历的历史。 放在一起看起来像这样: 请注意,调用的实例必须与调用的实例相同。否则,将会产生有趣的结果。 提交(并由此

  • 问题内容: 自从Jenkins 插件开始使用以来,配置方面就出现了很多问题,我看到的所有解决方案都涉及切换回使用旧的git命令行,因为到目前为止,大多数安装都具有大部分可修改的地方它在大多数时间都有效。 我们在同一条船上,但是git命令行在Windows下仍然 非常 不可靠。我们喜欢在新的引擎盖下使用的想法,并希望了解它是否真的使事情变得更好。但我找不到有关如何迁移到的单据。 仅供参考,我已经知道

  • 问题内容: 我有一个带有4列的(example-)数据框: 我现在想将B,C和D列合并/合并到新的E列,如本例所示: 我在这里发现了一个非常类似的问题,但这在A列的末尾添加了合并的列B,C和D: 感谢帮助。 问题答案: 选项1 使用和 选项2 使用分配和 选项3 最近,我喜欢第3个选项。 使用

  • 这似乎是一个愚蠢的问题,但我在任何地方都找不到关于它的文档。 如何获取RevCommit对象的SHA1?