java中jgit中checkout,如何在JGit中合并?

How do I merge in JGit?

Let's say I want to merge master with foo branch, how do I do this?

解决方案

To merge, you can use the MergeCommand (in package org.eclipse.jgit.api), after a CheckoutCommand. To provide you with an example, because indeed Jgit lacks examples:

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

}

I did not try the code so it might not be perfect, but it's just to provide a start. And I didn't include the imports. Developing with JGit implies a lot of tries based on the javadoc

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值