2017-08-01 88 views
0

我是JGit的新手,並且正在嘗試創建一個通過JGit執行git操作的程序。JGit MergeCommand示例

JGit Merge有沒有很好的例子,我看過https://github.com/centic9/jgit-cookbook/,但是那裏只有CheckMergeStatusOfCommit.java可用,沒有滿足我的要求。

情景: -我有我的遠程的abc.txt」,以及在我的工作回購說一個文件。 文件發生衝突,因爲同一行上遠程和正在運行的存儲庫上有不同的文本。

我怎樣才能從我的遠程獲得最新的變化,並將它們與工作回購的變化合並,我需要從這兩個(遠程和工作回購)的變化。

請建議。

回答

1

我在MergeChanges.java創建相應的樣品我jgit-cookbook部分,相關代碼段是這樣的:

  ObjectId mergeBase = repository.resolve("changes"); 
      System.out.println("Merge-Results for id: " + mergeBase + ": " + merge); 
      for (Map.Entry<String,int[][]> entry : merge.getConflicts().entrySet()) { 
       System.out.println("Key: " + entry.getKey()); 
       for(int[] arr : entry.getValue()) { 
        System.out.println("value: " + Arrays.toString(arr)); 
       } 
      } 

更新:編輯代碼片段顯示上合併衝突的方式返回,見JavaDoc for getConflicts()