2014-02-06 3 views
1

TL : 병합 커밋을 포함하여 단일 파일을 수정 한 모든 커밋을 나열하는 방법이 있습니까? git log -p --cc {filename}here으로 제안되었다는 사실을 알고 있다면 그럴 필요가 없습니다. 다음 시나리오에서 힘내 : 병합 커밋을 포함하여 단일 파일의 기록보기


:

  • 마스터 BRANCH1 및 브랜치는
  • 존재는 C1은
  • 마스터로 병합 M1 마스터로 BRANCH1 병합
  • 커밋 BRANCH1 변화를 도입 커밋 branch2가 있지만 충돌이 있으며 합병으로 인해 C1이 도입 한 변경 사항 중 일부가 실수로 중단됩니다. 그래서 우리는 병합으로 끝날 M3 따라서 마스터에게 파괴, 마스터에 브랜치를 병합
  • 커밋 깨진 브랜치를 생성 M2를 커밋

나는이 시나리오가 실현 나쁜 소식 (이 자동화되어 있어야합니다 테스트 이해 branch2가 망가졌고 M3는 처음에는 결코 일어나지 않아야했다. 사람들에게 가끔씩 망쳐 놓은 슬픈 현실로 되돌아 간다.)

우리는 이것을 깨닫기가 어려웠다. 정확하게 어떤 파일이 오류를 일으키는 지 알았으므로 모두 커밋을 나열하는 방법을 찾지 못했습니다.

this SO 질문에 따라, 우리는 시도 :

git log -p --cc {filename} 

이 유일한 인쇄는 C1까지 커밋합니다.

무엇이 누락 되었습니까? 감사합니다. .

답변

0

나는 이것을 시도 할 것이다 :

git log -m --no-max-parents -p {filename} 
+0

아직 병합이 저지른 표시되지 않습니다. 아마 우리의 저장소가 Atlasian "Stash"도구에 의해 관리되는 것은 가치가 없을 것입니다. 그래서 우리의 경우, 병합 커밋 중 일부는 "자동"이며 저장소를 호스팅하는 서버에서 전적으로 완료됩니다. – phtrivier