10
A
回答
7
要合併,你可以使用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
4
你會發現在JGit repository各種test classes for Merge,包括例如在SimpleMergeTest
Merger ourMerger = MergeStrategy.OURS.newMerger(db);
boolean merge = ourMerger.merge(new ObjectId[] { db.resolve("a"), db.resolve("c") });
assertTrue(merge);
2
JGit的嘗試已自2010年以來一個完全成熟的Java實現的git解決合併的策略。如果你需要的例子看相應JGit測試案例,看一看例如:It如何使用MergeCommand,請參閱類org.eclipse.egit.core.op.MergeOperation
。
相關問題
- 1. 存儲庫狀態在JGit中合併
- 2. JGIT - 在日誌中跳過合併
- 3. JGit合併額外選項
- 4. diff如何在JGit中處理合並提交
- 5. 在JGit中如何完成合並基礎?
- 6. 如何使用JGit/EGit恢復合併提交
- 7. 如何確定JGit哪些分支已合併爲主?
- 8. 如何在jGit中使用過濾器?
- 9. 如何在JGit中「貓」一個文件?
- 10. 如何在JGit中重命名文件
- 11. Jgit-如何使用Jgit獲取兩個日期之間的合併提交列表?
- 12. 如何在Git中合併?
- 13. 如何在Excel中合併
- 14. 如何與JGit衝突線
- 15. 你如何安裝JGit?
- 16. 如何用JGit做git push?
- 17. 在jgit中配置known_hosts
- 18. 在JGit中使用Mergetool
- 19. Jgit javadocs在哪裏?
- 20. 如何使用VBA在Excel中合併/合併相似的行?
- 21. 如何在Android中鏈接/合併/合併兩個聯繫人?
- 22. hg mercurial - 如何在shell中合併3路合併窗口
- 23. 如何在JSON.NET中合併/合併兩個JArrays
- 24. JGit FetchCommand
- 25. 如何合併在MySQL
- 26. 如何合併在YAML-CPP
- 27. 如何在github.com上合併
- 28. 如何合併在python
- 29. 如何合併在水銀
- 30. 如何合併在linux
您給Github的鏈接表明合併是一個缺失的功能。那是怎麼回事? – Tower
@rFactor它可能是這樣的情況,如果它只提供'git merge'命令而不是完全原生的java實現的包裝,但似乎不再是這種情況。 – VonC
你能確認嗎?我不在開發機器上,所以在這一點上我無法弄清楚,或者我只是在某個時候檢查它並在這裏發佈我的發現。 – Tower