Пример JGit для MergeCommand

Я новичок в JGit и пытаюсь создать программу для выполнения операций git через JGit.

Есть ли хороший пример для JGit Merge, я посмотрел на https://github.com/centic9/jgit-cookbook/ но доступен только CheckMergeStatusOfCommit.java, который не полностью отвечает моим требованиям.

Сценарий:- У меня есть файл на моем удаленном компьютере с именем " abc.txt ", а также в моем рабочем репо. Файл имеет конфликты, так как в одной и той же строке есть разный текст на удаленном и рабочем хранилище.

Как я могу получить последние изменения с моего пульта и объединить их с изменениями из рабочего репо, мне нужны изменения как из (удаленного, так и из рабочего репо).

Пожалуйста, предложите.

1 ответ

Я создал соответствующий пример как часть моей jgit-cookbook на MergeChanges.java, соответствующий фрагмент кода выглядит примерно так:

            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 для getConflicts()

Другие вопросы по тегам