2017-03-13 5 views
1

JGit을 사용하여 분기가 작성된 이후의 커밋 로그를 가져 오려고합니다. 포럼에서 여러 가지 게시물을 발견했습니다.하지만 포럼에서 모든 커밋을 이전의 모든 내용으로 반환하는 것처럼 보입니다.JGit을 사용하여 master에서 생성 된 이후의 모든 커밋을 나열합니다.

나는 기본적으로 JGit

내가 원하는 정확히 수행
git log master..testBranch 

로이 자식 명령을 에뮬레이트합니다.

답변

1

다음 코드 조각은 testBranch 브랜치가 뒤로 이동하여 커밋이 master이 될 때까지 걸립니다.

나는 또한에 추가 내 jgit-cookbook

 try (Git git = new Git(repository)) { 
      Iterable<RevCommit> logs = git.log() 
        .not(repository.resolve("master")) 
        .add(repository.resolve("remotes/origin/testBranch")) 
        .call(); 
      count = 0; 
      for (RevCommit rev : logs) { 
       System.out.println("Commit: " + rev /* + ", name: " + rev.getName() + ", id: " + rev.getId().getName() */); 
       count++; 
      } 
      System.out.println("Had " + count + " commits only on test-branch"); 
     } 
+0

감사합니다, 감사의 샘플 조각이 추가되었습니다. 나는 이미 도움이 된 요리 책에서 이것을 찾았다. 나는 훨씬 더 복잡한 예제를 발견했지만 훨씬 더 간단하다는 것을 알았습니다. – Tony