2014-11-12 2 views
0

메인 브랜치와 사이드 브랜치가있다. 때때로 주 브랜치가 사이드 브랜치에 병합되고 때로는 (보통 다른 머지가 잠시 후) 사이드 브랜치가 메인 브랜치에 병합됩니다.Git에서 메인 브랜치에없는 브랜치에서 커밋을 찾는다.

M: ---------------------- ... 
.  \  \/ \ 
S:  ----------------- ... 
지금은 아직

내 솔루션 아이디어는 다음과 같은 것입니다 M.에 병합되지 S에 그 커밋 나열하는 로그 갖고 싶어

:

  1. (가장 최근의 찾기 따라 그래프 구조에 - 그것은 유일해야한다.) M의 팁으로부터 도달 할 수있다. M의 팁으로부터 도달 할 수있다 (즉, 언제 S가 마지막으로 M으로 병합 되었는가?). 그것을 StoM이라고 부르겠습니다.
  2. M의 끝에서 접근 할 수있는 S의 끝에서 도달 할 수있는 가장 최근 커밋을 찾습니다 (즉, M이 마지막으로 S?에 병합되었을 때). MtoS라고 부르 자.
  3. StoM..S의 각 커밋에 대해 MtoS..M에 있는지 확인하십시오. 아니요 인 경우 로그에 포함하십시오.

첫 번째 질문 : 적절한 결과가 나오나요?

두 번째 질문 : 힘내에서 어떻게 할 수 있습니까? 그것은 효율적입니까? 더 좋은 방법이 있습니까?

+0

'git help revisions' –

답변

0

git log S ^M은 모든 커밋을 S에 표시하지만 M에는 표시하지 않습니다. 정확히 git log M..S과 같습니다.

관련 문제